BearGryllsRocks9999 Ответов: 3

Хэш-карты с нуля на java ?


Я-самоучка, недавно окончившая среднюю школу. Я начинающий специалист в DSA , до сих пор знаю основные алгоритмы поиска и сортировки.

Одно мне было интересно, был "частности ". Я вижу, что это действительно хорошая структура данных с хорошим O(1) Временная сложность.

Но как мне это сделать , я читаю в интернете о хэш-функциях и прочем.

Я немного запутался в том, как мне начать эту структуру данных ?

Кроме того, действительно ли нам нужно знать реализацию с нуля в отличие от ? Я имею в виду , конечно , что иногда это может быть полезно в больших проектах в соответствии с требованиями, но в отличие от других структур данных, Hashmap для меня выглядит немного слишком сложным, чтобы быть реализованным с нуля.

Пожалуйста, запишите свои мысли по этому поводу. Любой ответ приветствуется , спасибо.

Что я уже пробовал:

Попробовал книгу и немного погуглил

3 Ответов

Рейтинг:
1

OriginalGriff

Цитата:
В отличие от других структур данных , Hashmap для меня выглядит немного слишком сложным, чтобы быть реализованным с нуля.


Хм.

Ничто в фреймворке не появляется "по волшебству" - все это должно быть написано "с нуля" хотя бы один раз, а в большинстве случаев снова и снова (либо для нового фреймворка, так строящегося на его существующих элементах, либо для большей эффективности, либо "потому что я могу сделать это лучше").
Все строится на предыдущей работе: даже "основы", такие как числа, довольно сложны под капотом: игнорируйте числа с плавающей запятой на данный момент и подумайте о сложении двух целых чисел вместе, когда все, что у вас есть, - это двоичный сумматор, который "складывает" два однобитных значения вместе и строит это, чтобы добавить два 32-битных десятичных числа!

Так что перестаньте быть таким негативным: все, что было реализовано, было сделано с нуля (или, по крайней мере, из существующих связанных компонентов), так что это совсем не "слишком сложно".
Это может занять некоторое время для вас, чтобы реализовать, но это, безусловно, возможно!


Рейтинг:
1

Richard MacCutchan

Вчера я дал вам предложение в вашем аналогичном вопросе: Как реализовать граф с помощью списка смежности в java ?[^]. Вы не будете изучать программирование, публикуя вопросы здесь, идите и следуйте учебникам, как я предложил.


Рейтинг:
0

CPallini

Цитата:
Hashmap для меня выглядит немного слишком сложным, чтобы быть реализованным с нуля.
Конечно, вы можете реализовать его с нуля, получив понимание.
Тогда вы могли бы безопасно и выгодно использовать тот, который мягко предоставляется Java в проекте.