Блог пользователя scorpion

Автор scorpion, 15 лет назад, По-русски

Всем привет!!!

Подскажите пожалуйста пару приёмов придумывать хорошие хеш-функции.

Спасибо.

 
  • Проголосовать: нравится
  • -1
  • Проголосовать: не нравится

15 лет назад, скрыть # |
 
Проголосовать: нравится -38 Проголосовать: не нравится

Ты уже восемь месяцев на кодфорсе, и еще не научился гуглить? Тогда погуглю я. Новый велосипед.  


  • 15 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +21 Проголосовать: не нравится
    Думаю, лучше посоветоваться с кем-то на кодефорсе (ведь для этого открыт форум), чем гуглить. И велосипед тут вообще неочем.
    • 15 лет назад, скрыть # ^ |
      Rev. 2  
      Проголосовать: нравится +1 Проголосовать: не нравится

      Ну частично все таки велосипед, т.к. уже писали даже на самом codefoces и тут.

      Хотя сам не против чтобы кто нибудь по велосипедил тут, может какие нибудь новые фичи опишет в виде "усиленной рамы" или "сверхскоростной передачи".
15 лет назад, скрыть # |
 
Проголосовать: нравится +17 Проголосовать: не нравится
А чего их придумывать? По большому счёту в олимпиадных задачах в основном полиномиальные хэши используются (для строк например). Ну или сумма со случайными коэффициентами (если свой hash_set/hash_map писать).
А если одного мало (коллизии мучают или просто для верности), можно несколько считать (например три полиномиальных хэша с разными иксами по модулю 232 чтобы строки сравнивать).
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
вот тут почитай, и придумывать самому хэши не надо, обычно это добром не кончается
  • 15 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +2 Проголосовать: не нравится
    почему нет? Новая хеш-функция может быть темой курсовой работы, почему это не должно добром заканчиваться?
    • 15 лет назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится
      просто уже известные хэш-функции работают с большой вероятностью и работают в принципе, а вот самопальная хэш-функция, особенно ничем не обоснованная может подвести
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Вот этот блог прочти. И особенно это.