Size: a a a

JavaScript.Ninja

2021 February 04

AI

Arthur Irgashev in JavaScript.Ninja
Artem Kobzar
Посмотрите внимательней на реализацию любой хэш-таблицы
ну я смотрел, в .net
источник

AI

Arthur Irgashev in JavaScript.Ninja
там на бакетах сделано всё
источник

IK

Illya Klymov in JavaScript.Ninja
Все, Артем пришел, он экспертнее меня в этом вопросе, я могу с чистой совестью идти писать видео для студентов
источник

AK

Artem Kobzar in JavaScript.Ninja
1) У любой хэш-функции есть коллизии
2) Из-за них есть бакеты, которые на практике реализованы как списки.
3) При большом кол-ве коллизий все будет складываться в несколько списков.
4) Поиск по списку O(N)
источник

AI

Arthur Irgashev in JavaScript.Ninja
Artem Kobzar
1) У любой хэш-функции есть коллизии
2) Из-за них есть бакеты, которые на практике реализованы как списки.
3) При большом кол-ве коллизий все будет складываться в несколько списков.
4) Поиск по списку O(N)
это про худший случай
источник

AK

Artem Kobzar in JavaScript.Ninja
О большое и есть про  худший случай
источник

AK

Artem Kobzar in JavaScript.Ninja
Там дальше можно просто посмоттреть на вероятность коллизии
источник

AI

Arthur Irgashev in JavaScript.Ninja
прикол в том, что хеш-фция даёт тебе индекс в бакете
источник

AI

Arthur Irgashev in JavaScript.Ninja
Artem Kobzar
1) У любой хэш-функции есть коллизии
2) Из-за них есть бакеты, которые на практике реализованы как списки.
3) При большом кол-ве коллизий все будет складываться в несколько списков.
4) Поиск по списку O(N)
и там не тупой перебор по списку идёт, который даёт O(n)
источник

AK

Artem Kobzar in JavaScript.Ninja
Посчитать распределение и получим что-то около O(0,00001 * N)
источник

AK

Artem Kobzar in JavaScript.Ninja
Или
источник

AK

Artem Kobzar in JavaScript.Ninja
Можно просто опереться на медиану
источник

AK

Artem Kobzar in JavaScript.Ninja
И сказать, что в среднем O(1)
источник

AK

Artem Kobzar in JavaScript.Ninja
Как это делается для тех же массивов
источник

AK

Artem Kobzar in JavaScript.Ninja
В общем, все зависит от конкретного алгоритма хэширования
источник

AI

Arthur Irgashev in JavaScript.Ninja
Artem Kobzar
В общем, все зависит от конкретного алгоритма хэширования
да, о том и речь
источник

AI

Arthur Irgashev in JavaScript.Ninja
источник

AI

Arthur Irgashev in JavaScript.Ninja
вот здесь даже в худшем случае поиск будет быстрее, чем O(N)
источник

AI

Arthur Irgashev in JavaScript.Ninja
а в среднем и лучшем - всегда константа
источник

AK

Artem Kobzar in JavaScript.Ninja
Ну, Вы же понимаете, что O(1) очень апроксимировано?
источник