Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.11.2013, 21:29   #1
bielov
 
Регистрация: 07.03.2013
Сообщений: 3
Печаль Закрытое хеширование с линейным пробированием

Во многих источниках говорится, что линейное пробирование использует следующую формулу для поиска свободных ячеек: h(key)=(h(key)+i)%N. Но разве она верна? По-моему для этого нужно использовать такую формулу: h(key)=(key%N)+i. Скажите, если я что-то где-то не догнал.
bielov вне форума Ответить с цитированием
Старый 01.11.2013, 21:51   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,316
По умолчанию

Я за первую формулу:
Вы берете хеш от key. Рассматриваете ячейку по полученному номеру, но он оказался занят, тогда Вы рассматриваете следующую ячейку и так, пока не найдете свободную. Остаток от N берется, чтобы закольцевать список ячеек.

h(key)=(key%N)+i - эта запись, скорее, задает способ расчета хеша, а не линейное пробирование
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
линейным поиском через while ччч1 Помощь студентам 7 08.04.2013 19:48
Нужны программы по линейным сравнениям masal86 Паскаль, Turbo Pascal, PascalABC.NET 0 19.02.2013 21:36
Работа с линейным списком glebast Помощь студентам 0 13.12.2012 22:17