Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Хэш функции
DF2 :: ФОРУМЫ > Основные форумы > Софт и железо > Программирование / Coding
packa
Вот разбираюсь с Хэш функциями, нужно написать свою для примера. (естественно с как можно меньшим числом коллизий)
Не очень сложную, я не гуру)) (на строках)

У нас есть наверное самый простой пример: сумма всех кодов символов строки. Или квадрат кодов.
А вот что то отличное от этого не получается придумать. Подскажите?
Нагуглить толком не получилось.
tolich
Цитата(packa @ 16 Jun 2013, 22:07) *
У нас есть наверное самый простой пример: сумма всех кодов символов строки. Или квадрат кодов.
Не катит, потому что не зависит от порядка символов.

Посмотри Adler32.
feanor
А чо б готовую не спереть?
packa
Цитата
Не катит, потому что не зависит от порядка символов.

Катит, но количество коллизий OVER 9000. Очень плохая хеш функция, но тем не менее это она

Цитата
А чо б готовую не спереть?

За ними и пришел) Нагуглить толкового не смог

Адлер понял, ок. Только это не сильная модификация исходного) в плане идеи
UnSchtalch
А чем MD5-то не угодил? Вроде как и пишется даже самостоятельно хорошо, и с коллизиями дело довольно неплохо.
hippocamus
Сделай MD5 кодирование строки. Не нравится MD5 - сделай UUE.
packa
Является ли " код максимального символа из подстроки" хэш функцией?
hippocamus
Нет. Это строковые функции. Хоть и нестандартная, но её суть - ограничить ANSI диапазон.
feanor
Цитата
Является ли " код максимального символа из подстроки" хэш функцией?
Упорото как-то. Лучше xor всех четырехбайтовых блоков символов, и то лучше.
packa
И я офигел от такой упоротости) ляпнул что да, но будет очень много коллизий. Единственное за что снизили) 90\100 )
hippocamus
Не, пакка, честно. В одну строку напишу такую на делфях. Но, понимаю, тебе в php надо?
packa
Всмысле? Вопрос уже закрыт)
Просто мне нужно было на экзамен пару примеров нестандартных вот и все) Кстати попался именно этот билет)) Мне определенно повезло)

Кстати, прост интересно, откуда php взял? У меня вообще лиспообразный ужасный scheme)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.