170 похожих чатов

Самое интересное, какое это все значение имеет на практике в

99% реальных практических юзкейсов?

33 ответов

34 просмотра

высокое

ноль, просто об этом всегда любят спрашивать на собесах, причём те кто спрашивает часто тоже не понимает устройства мап :)

Павел Середа
ноль, просто об этом всегда любят спрашивать на со...

Ну я на каждом собесе такие вопросы получаю

надо хотя бы примерно понимать как эта штука работает внутри чтобы не делать глупостей

Павел Середа
ноль, просто об этом всегда любят спрашивать на со...

это правда. но - общую эрудицию проверяет отлично.

Anton-Kucherov Автор вопроса
Andrew
надо хотя бы примерно понимать как эта штука работ...

Лезть в internals какой то штуки просто так по определению несусветная глупость. Потому что эти internals на то и internals что со временем могут меняться. Причем без предупреждения всех клиентов которые используют фичу извне.

Daniel Podolsky
это правда. но - общую эрудицию проверяет отлично.

не очень понял. правда что вероятность равна нулю? иметь О(1) в 99% реальных кейсах

Anton Kucherov
Лезть в internals какой то штуки просто так по опр...

коллега! хеш-мапе 50 лет, она не менялась с момента создания. почему вам так дорого ваше невежество?

Anton Kucherov
Лезть в internals какой то штуки просто так по опр...

не надо лезть в internals. надо понимать примерно как оно внутри работает, можно просто в интернете почитать описание и этого достаточно. не надо код самому смотреть. для этого есть другие чуваки которые код посмотрели и объяснили как оно устроено.

Anton-Kucherov Автор вопроса
Daniel Podolsky
коллега! хеш-мапе 50 лет, она не менялась с момен...

Языку Go нет 50 лет. И я не про устройство Хеш мапы в прицнипе а про упоротость на internals технологии X (в данном случае языка Go)

Artur Karapetov
не очень понял. правда что вероятность равна нулю?...

нулю равна полезность в 99% практических кейсов.

Daniel Podolsky
нулю равна полезность в 99% практических кейсов.

так вопрос же был про вероятность иметь О(1+загрузка) в 99% реальных кейсах, разве нет? и она точно не равна нулю

Daniel Podolsky
коллега! хеш-мапе 50 лет, она не менялась с момен...

Вооот, а я о чем, а меня еще невежей всякие обзывают

Artur Karapetov
так вопрос же был про вероятность иметь О(1+загруз...

поиск бакета - O(1), они в массиве лежат поиск значения в бакете - O(1), потому, что бакет ограниченного размера если какой-то бакет разрастается - мапа перестраивается поэтому, в принципе, время поиска зависит от текущих обстоятельств, но на практике этим можно пренебречь

Daniel Podolsky
поиск бакета - O(1), они в массиве лежат поиск зн...

а как же зависимость от качества хеш-кода? в java у объекта есть метод hashCode(), который напрямую влияет на качество и скорость работы Hashmap, так как влияет на количество коллизий. в Го не так?

Бакеты лежат в массиве? Если так, то за счет чего там O(1), поиск по массиву же медленнее?

Павел Середа
помоему в java ересь какая-то)

не очень понял. сама Java ересь или реализация HashMap в java - Ересь?

да неужели?!

Artur Karapetov
а как же зависимость от качества хеш-кода? в java...

применительно к мапе качество хеш-функции, в общем, не важно.

Artur Karapetov
не очень понял. сама Java ересь или реализация Has...

реализация HashMap с тюнингом алгоритма - вздор

Daniel Podolsky
с чего бы?

влияет на колличество коллизий. ведь hashCode() можно переопределить

Artur Karapetov
влияет на колличество коллизий. ведь hashCode() мо...

на колличество коллизий влияет размер бакета

Daniel Podolsky
на колличество коллизий влияет размер бакета

правильно. а коллизии при вычислении хешкода влияют на то в какой бакет попадет значение

Artur Karapetov
правильно. а коллизии при вычислении хешкода влияю...

так перестраивается же мапа, если бакет разрастается

Daniel Podolsky
на колличество коллизий влияет размер бакета

Ну уж справедливости ради оба параметра влияют, ну наверное размер вносит большую вероятность

Артём Лазаренко
Ну уж справедливости ради оба параметра влияют, ну...

нет, не оба. из хеша вычисляется бакет. это O(1) по-любому

Daniel Podolsky
так перестраивается же мапа, если бакет разрастает...

здесь говорят что влияет SUHA на производительность https://www.scielo.br/j/pope/a/BvJ9B7mscxZbXW56fpNQwny/?lang=en Поиск в тексте: The actual complexities of searches, insertions and deletions depend on

Daniel Podolsky
так перестраивается же мапа, если бакет разрастает...

я нашел логическое объяснение почему HashCode влияет на производительность: Если функция hashCode() "плохая", то бакет будет расти очень быстро и hashMap будет вынужден перестраивать мапу очень часто - а это точно будет влиять на производительность самой мапы

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта