Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ASD_Lecture04

.pdf
Скачиваний:
19
Добавлен:
12.02.2016
Размер:
1.23 Mб
Скачать

Приклад: Хеш функція #1

value = (s[i] + 31*value) % 101;

 

Значення

Ключ

хеш-функції

Aho

49

Kruse

95

Standish

60

Horowitz

28

Langsam

21

Sedgewick

24

Knuth

44

значення у результуючій таблиці рівномірно розподілені

Лекція 4

41

Приклад: Хеш функція #2

value = (s[i] + 1024*value) % 128;

 

Значення

 

 

Ключ

хеш-функції

 

 

 

 

Aho

111

 

Розподіл

Kruse

101

 

по таблиці

Standish

104

має кластерний

Horowitz

122

 

характер

Langsam

109

 

 

Sedgewick

107

 

 

Knuth

104

 

 

Лекція 4

42

Приклад: Хеш функція #3

value = (s[i] + 3*value) % 7;

 

Значення

 

Ключ

хеш-функції

 

Aho

0

 

 

 

Kruse

5

 

 

Standish

1

 

“колізії”

Horowitz

5

 

 

Langsam

5

 

 

 

Sedgewick

2

 

 

Knuth

1

 

 

Лекція 4

43

Колізії

Коли двом ключам ставиться у відповідність одне місце у таблиці.

Висока імовірність появи колізії.

Дні народження

К-сть людей

Імовірність

10 0.1169

20 0.4114

30 0.7063

40 0.8912

50 0.9704

60 0.9941

70 0.9992

Лекція 4

44

Вставляння

Обчислити хеш-функцію для отримання позиції.

Постаратися вставити ключ у цю позицію.

Вирішити колізію.

Лекція 4

45

Приклад: Вставляння

Aho, Kruse, Standish, Horowiz, Langsam, Sedgewick, Knuth

Aho

хеш-таблиця

0 Aho

хеш

 

1

0

2

функція

 

3

 

 

4

5

6

Лекція 4

46

Приклад: Вставляння

Aho, Kruse, Standish, Horowiz, Langsam, Sedgewick, Knuth

хеш-таблиця

Kruse

0 Aho

хеш

 

1

5

2

функція

 

3

 

 

 

 

4

5 Kruse

6

Лекція 4

47

Приклад: Вставляння

Aho, Kruse, Standish, Horowiz, Langsam, Sedgewick, Knuth

хеш-таблиця

0 Aho

1 Standish

Standish

хеш

1

2

функція

 

 

3

 

 

 

 

 

 

4

5 Kruse

6

Лекція 4

48

Приклад: Пошук

Обчислити хеш-функцію для отримання позиції.

Постаратися знайти ключ у даній позиції.

Якщо не знайдено, тоді шукати у відповідності із застосованим методом вирішення колізій.

Лекція 4

49

Приклад: Пошук

Aho, Kruse, Standish, Horowiz, Langsam, Sedgewick, Knuth

хеш-таблиця

Kruse

0 Aho

1 Standish

хеш

5

2

функція

 

3

 

 

 

 

4

5 Kruse

знайдено

6

Лекція 4

50

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]