Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.22;
Скачать: CL | DM;

Вниз

Хэш   Найти похожие ветки 

 
Coder: TCoder;   (2004-08-05 10:52) [0]

Подскажите, пожалуйста, что из себя представляет хэш и для чего он нужен.


 
REA ©   (2004-08-05 11:03) [1]

Я так понимаю:
Достаточно короткий по объему набор данных полученный из большего исходного набора, но с высокой долей вероятности выделяющий этот больший набор из множества наборов.
Используется например для ускорения поиска.
Например, зная длину строки, можно для сравнения строк использовать алгоритм, который будет сначала сравнивать длины и потом уже содержимое.


 
Anatoly Podgoretsky ©   (2004-08-05 11:04) [2]

хэш это функция свертки


 
Romkin ©   (2004-08-05 11:58) [3]

Объяснили :)
В общем, хеширование - одна из методик поиска данных по ключам. При хешировании множество всех ключей отображается на множество хешей, которое, как правило, содержит гораздо меньше элементов, и поддерживает быстрый доступ к каждому из них.
Например: Есть список слов, и хочется быстро искать в нем.
Нужна функция хеширования, которая получает на вход строку со словом, и выдает на выходе число в диапазоне, например, 0..60000 (это только пример! Не все так просто).
Делаем массив, и размещает каждое слово в том элементе, индекс которого равен результату хеширования этого слова. Понятно, что функция может выдать одинаковый результат для разных слов, этот случай называется коллизией. Обычно коллизии разрешают хранением в элементе массива не одного слова-ключа, а целого списка.
Теперь искать просто: берем искомое слово, пропускаем его через функцию кеширования, и получаем номер элемента. Остается посмотреть в список этого элемента - если в нем слово есть, значит нашли.
Проблема здесь в том, чтобы правильно выбрать функцию кеширования, чтобы ключи распределялись максимально равномерно по таблице. :)) Если у нас всего 600000 слов, то понятно, что средня длина списка будет около 10 слов в каждом элементе. Вот и получается быстрый поиск - вычисляем хеш и просматриваем примерно 10 слов.


 
Coder: TCoder;   (2004-08-05 12:54) [4]

Thanks!



Страницы: 1 вся ветка

Текущий архив: 2004.08.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
14-1091519097
DSKalugin
2004-08-03 11:44
2004.08.22
почему следующая фраза вешает ворд ХП???


14-1091652820
Soft
2004-08-05 00:53
2004.08.22
Нам не страшен рыжий Чубайс, или рабочий ВД второго рода.


3-1090244437
Григорьев Антон
2004-07-19 17:40
2004.08.22
Как вызвать редактор ADOConnection.ConnectionString в run-time?


1-1091774181
kdy
2004-08-06 10:36
2004.08.22
Action Manager мешает наследовать формы?


1-1092133649
Cosinus
2004-08-10 14:27
2004.08.22
Работа с функциями, находящимеся в отдельном модуле