PO_SiAOD_Lektsia_2_Semestr_2.pptx
- Количество слайдов: 22
Лекция 2 А. Ф. ЗУБАИРОВ
Хеширование
Парадокс дней рождения Вероятность совпадения дней рождения (числа и месяца) хотя бы у двух членов группы из 23 и более человек, превышает 50 %. С практической точки зрения это означает, что если, например, в группе более 22 студентов, то более вероятно, что у кого-то из одногруппников дни рождения придутся на один день, чем что у каждого будет свой собственный день рождения.
Хеширование
Хеширование
Хеширование 0 r 1 k 1=0 0 (h(0) = 0) r 1 k 1=0 1 r 2 k 2=1 1 (h(1) = 1) r 2 k 2=1 2 (h(100) = 2) r 3 k 3=100 3 (h(556) = 3) r 4 k 4=556 4 (h(557) = 4) r 5 k 5=557 … 100 r 3 k 3=100 … 556 r 4 k 4=556 5 (h(558) = 5) r 6 k 6=558 557 r 5 k 5=557 6 (h(1001) = 6) r 7 k 7=1001 558 r 6 k 6=558 r 7 k 7=1001 … 1001 Всего 1001 ячейка Всего 6 ячеек
Коллизии
Хеш-функции
Хеш-функции
Разрешение коллизий
Метод «цепочек» first[1] George first[2] Hector NULL first[3] Ann NULL first[4] Michael NULL first[5] Elizabeth NULL Victor NULL first[6] NULL first[7] NULL first[8] Lucas NULL first[9] NULL
Поиск и вставка в хеш-таблице с цепочками
Поиск и вставка в хеш-таблице с цепочками
Поиск и вставка в хеш-таблице с цепочками first[1] George first[2] Hector NULL first[3] Ann NULL first[4] Michael NULL first[5] Elizabeth NULL first[8] Victor NULL first[9] Lucas NULL first[6] NULL first[7] NULL
Метод открытой адресации При использовании метода открытой адресации все записи хранятся непосредственно в хештаблице, т. е. каждая ячейка таблицы содержит либо запись, либо NULL. При поиске просматривается ячейки таблицы одна за другой до тех пор, пока не будет найден ключ K или пустая позиция. В отличии от следования по указателям в методе «цепочек» , в данном методе последовательность проверяемых ячеек таблицы вычисляется.
Метод открытой адресации
Линейное исследование и вставка
Линейное исследование и вставка
Линейное исследование и вставка Пусть En, To, Tre, Fire, Fem, Seks, Syv имеют хеш- коды 2, 7, 1, 8, 2, 8, 1 соответственно. Тогда при использовании линейной открытой адресации сформируется следующая хеш-таблица: 0 Fem 1 Tre 2 En 3 4 5 Syv 6 Seks 7 To 8 Fire
Квадратичное исследование
Двойное хеширование
Двойное хеширование
PO_SiAOD_Lektsia_2_Semestr_2.pptx