- •Исключение узла из дерева
- •а) Удаляемый элемент-лист (3, 8, 13, 18).
- •б) Удаляемый элемент имеет одного "сына".
- •в) Удаляемый элемент имеет двух "сыновей".
- •Удаляемый элемент ЗАМЕНЯЕТСЯ наиболее близким по значению листом (чтобы упорядоченность дерева не нарушилась).
- •Обход
- •Существует три метода обхода дерева:
- •Процедура обхода двоичного дерева сверху вниз
- •Процедура обхода двоичного дерева слева направо
- •Процедура обхода двоичного дерева снизу вверх
- •Порядок обхода узлов сверху вниз
- •Порядок обхода узлов слева направо
- •Порядок обхода узлов снизу вверх
- •Переменные таблицы
- •Свойства переменных таблиц:
- •Хеш- таблица – это таблица, в которой для доступа к записи используется индекс,
- •Отобра- жающий вектор
- •Занесение в хеш-таблицу
- •Поиск в хеш-таблице
- •Методы вычисления функции расстановки для числового ключа :
- •б) Метод свертки
- •в) Метод деления по модулю
- •Методы вычисления функции расстановки для символьного ключа:
- •Требования к хорошей хеш- функции :
- •Таблица с прямым доступом (частный случай хеш- таблицы)
- •Обычно допускается коллизия (переполнение):
- •Методы устранения переполнений (разрешения конфликтов):
- •Метод открытого перемешивания
- •Занесение записи
- •Поиск записи
- •Вычисление вторичного индекса
- •Метод линейных проб с простым шагом p
- •Метод квадратичных проб
- •Метод прямого связывания (перемешивание с цепочками переполнения)
- •Достоинства хеш таблиц:
- •Недостатки хеш таблиц:
Порядок обхода узлов сверху вниз
67
13 |
270 |
6 |
45 |
125 |
340 |
34 |
58 |
76 |
251 |
380 |
67, 13, 6, 45, 34, 58, 270, 125, 76, 251, 340, 380
11
Порядок обхода узлов слева направо
67
13 |
270 |
6 |
45 |
125 |
340 |
34 |
58 |
76 |
251 |
380 |
6, 13, 34, 45, 58, 67, 76, 125, 251, 270, 340, 380
12
Порядок обхода узлов снизу вверх
67
13 |
270 |
6 |
45 |
125 |
340 |
34 |
58 |
76 |
251 |
380 |
6, 34, 58, 45, 13, 76, 251, 125, 380, 340, 270, 67
13
Переменные таблицы
14
Свойства переменных таблиц:
•операции занесения и поиска записей выполняются поочередно;
•записи не упорядочены.
Чаще всего переменные таблицы организуются как таблицы с вычисляемым входом (хеш- таблицы)
15
Хеш- таблица – это таблица, в которой для доступа к записи используется индекс, вычисляемый по значению ключа с помощью специального алгоритма (функции расстановки, или хеш – функции)
16
Отобра- жающий вектор
(должен
содержать ок. 20% свободных позиций)
Отображение в ОП
1 |
|
данные |
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
записи |
3 |
|
данные |
|
|
||
|
|
|
|
|
|
хеш- |
|
|
|
|
|
|
|
|
. . . . . . . . |
|
|
|
таблицы |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
данные
n
17
Занесение в хеш-таблицу
Новая запись
Функция
расстановки
1
2
3
Индекс
(номер позиции) отображающего вектора
n
данные
данные
. . . . . . . .
данные
18
Поиск в хеш-таблице
Искомый ключ
Функция
расстановки
1
2
3
Индекс
(номер позиции) отображающего вектора
n
данные
данные
. . . . . . . .
данные
19
Методы вычисления функции расстановки для числового ключа :
а) Метод середины квадратов
ключ ключ2
N цифр индекса
(диапазон индексов 0..10N-1)
20