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

ASD_Lecture04

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

Приклад: Бібліографія

R. Kruse, C. Tondo, B. Leung, “Data Structures and Program Design in C”, 1991, Prentice Hall.

E. Horowitz, S. Salini, S. Anderson-Freed, “Fundamentals of Data Structures in C”, 1993, Computer Science Press.

R. Sedgewick, “Algorithms in C”, 1990, Addison-Wesley.

A. Aho, J. Hopcroft, J. Ullman, “Data Structures and Algorithms”,

1983, Addison-Wesley.

T.A. Standish, “Data Structures, Algorithms & Software Principles in C”, 1995, Addison-Wesley.

D. Knuth, “The Art of Computer Programming”, 1975, AddisonWesley.

Y. Langsam, M. Augenstein, M. Fenenbaum, “Data Structures using C and C++”, 1996, Prentice Hall.

Лекція 4

31

Хешування

Вставити інформацію у бінарне дерево

пошуку, використовуючи в якості ключа

прізвище автора

Лекція 4

32

Хешування

Kruse Horowitz Sedgewick

Aho

Knuth Langsam Standish

Kruse

Horowitz Sedgewick

Aho

Knuth Langsam Standish

Вставити інформацію у бінарне дерево

пошуку, використовуючи в якості ключа

прізвище автора

Лекція 4

33

Хешування

хеш-таблиця

 

 

0

 

 

ключ

хеш

1

pos 2

 

функція

3

 

 

 

 

:

 

 

:

 

 

TABLESIZE - 1

Лекція 4

34

Хешування

хеш-таблиця

 

 

 

0

 

 

 

 

хеш

 

1

“Kruse”

5

2

функція

 

 

3

 

 

 

 

 

 

4

5 Kruse

6

Лекція 4

35

Хешування

Кожний елемент має унікальнйи ключ.

Використовуються масиви великої розмірності, які називаються хеш-таблицями.

Використовується хеш-функція.

Хеш-функція

Ставить у відповідність ключам позицію у хеш-таблиці.

Повинна бути простою для облчислення.

Використовує всі ключі.

Рівномірний розподіл ключів.

Лекція 4

36

Застосування

Бази даних.

Перевірка правопису.

CRC32, який застосовується в апаратурі Ethernet і у форматі упакованих файлів

ZIP.

Комп’ютерні шахові програми.

Компілятори.

Тощо

Лекція 4

37

Операції з хеш-таблицею

Ініціалізації

всі позиції у хеш-таблиці є порожніми.

Вставляння

Пошук

Видалення

Лекція 4

38

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

unsigned int hash(char* s)

{

int i = 0; unsigned value = 0;

while (s[i] != ‘\0’)

{

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

}

return value;

}

Лекція 4

39

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

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

A. Aho, J. Hopcroft, J. Ullman, “Data Structures and Algorithms”, 1983, Addison-Wesley.

‘A’ = 65

‘h’ = 104

‘o’ = 111

value = (65 + 31 * 0) %

101 =

65

value

=

(104

+

31

*

65)

%

101

=

99

value

=

(111

+

31

*

99)

%

101

=

49

Лекція 4

40

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