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

Перехеширование? Это зачем?

15 ответов

30 просмотров

Ну при большом числе коллизий же мапы перехэшируются, верно?

Alex- Автор вопроса

Я, конечно, глубоко в исходники не лазил, но давай подумаем логически, что такое коллизия?

Получение одинаковых хэшей при разных ключах. Из за чего данные попадают в одну и ту же корзину, что приводит со временем к обращению к ним за O(n)

Alex- Автор вопроса
Павлик Ливаткин
Получение одинаковых хэшей при разных ключах. Из з...

вот, какой смысл брать еще раз хеш от этих значений, если оно всё равно выдаст тот же результат? :)

Alex
вот, какой смысл брать еще раз хеш от этих значени...

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

Alex- Автор вопроса
Павлик Ливаткин
Хэш это же общее название. Понятно что он начинает...

вам, кажется, надо перечитать работу хмапа (ну или мне) 😁

Павлик Ливаткин
Хэш это же общее название. Понятно что он начинает...

Нет такого, алгоритм не меняется, соль не добавляется.

Alex
вам, кажется, надо перечитать работу хмапа (ну или...

Ну замечание законное, я на го относительно не давно пересел с других языков, да ещё и не окончательно. поэтому могу вспомнить алгоритм работы неотсюда

Pavel
Нет такого, алгоритм не меняется, соль не добавляе...

А если коллизий много... Работа мапы в го будет замедляться вплоть до О(n)? Я правильно понимаю? Или с этим как то борятся?

Павлик Ливаткин
Ну замечание законное, я на го относительно не дав...

А в каких языках предусмотрен алгоритм "перехэширования"?

Alex- Автор вопроса
Павлик Ливаткин
Ну замечание законное, я на го относительно не дав...

ну я в принципе не могу представить себе поведение, чтобы это могло понадобиться

Павлик Ливаткин
А если коллизий много... Работа мапы в го будет за...

Ну если у тебя абсолютно все хэши в мапе одинаковые, то будет O(n), если не ошибаюсь, но сам представь шанс всего этого. К тому же хэшфункция оптимизирована под каждый тип данных, чтобы максимально избегать коллизии

Pavel
Ну если у тебя абсолютно все хэши в мапе одинаковы...

Ну я щас попробую на вопросы ответить по очереди А на счёт шансов что много совпадений будет - так это отчасти вопрос сколько я туда запихаю На счёт того что оптимизация под стандартные типы данных - у меня тип мой собственный, из трёх int и bool. Подозреваю что это внутри превращается в []byte и дальше уже идёт хэш

Павлик Ливаткин
Ну я щас попробую на вопросы ответить по очереди ...

Ну я не знаю сколько должно быть значений в мапе, чтобы получить кучу коллизий до такой степени, чтобы взятие линейное стало. Если интересно как углублено мапа работает, то советую посмотреть видео Николая Тузова на эту тему

Alex
Я, конечно, глубоко в исходники не лазил, но давай...

очевидно в данном контексте это когда для разных значений ключа получается одно значение хэша. на практике коллизий избежать невозможно например если у вас хэш имеет размер 32бита, а ключ - 64бита. так что это разговор ни о чем...

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

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

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Мужики. привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных элементов...
Kraszx
2
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Всем привет! Кто пользуется DevExpress, подскажите пожалуйста, реализован ли в TcxGrid в новых версиях поиск по датам как в Экселе (ну т.е. не просто список чекбоксов со значе...
A Z
4
Карта сайта