- •Исключение узла из дерева
- •а) Удаляемый элемент-лист (3, 8, 13, 18).
- •б) Удаляемый элемент имеет одного "сына".
- •в) Удаляемый элемент имеет двух "сыновей".
- •Удаляемый элемент ЗАМЕНЯЕТСЯ наиболее близким по значению листом (чтобы упорядоченность дерева не нарушилась).
- •Обход
- •Существует три метода обхода дерева:
- •Процедура обхода двоичного дерева сверху вниз
- •Процедура обхода двоичного дерева слева направо
- •Процедура обхода двоичного дерева снизу вверх
- •Порядок обхода узлов сверху вниз
- •Порядок обхода узлов слева направо
- •Порядок обхода узлов снизу вверх
- •Переменные таблицы
- •Свойства переменных таблиц:
- •Хеш- таблица – это таблица, в которой для доступа к записи используется индекс,
- •Отобра- жающий вектор
- •Занесение в хеш-таблицу
- •Поиск в хеш-таблице
- •Методы вычисления функции расстановки для числового ключа :
- •б) Метод свертки
- •в) Метод деления по модулю
- •Методы вычисления функции расстановки для символьного ключа:
- •Требования к хорошей хеш- функции :
- •Таблица с прямым доступом (частный случай хеш- таблицы)
- •Обычно допускается коллизия (переполнение):
- •Методы устранения переполнений (разрешения конфликтов):
- •Метод открытого перемешивания
- •Занесение записи
- •Поиск записи
- •Вычисление вторичного индекса
- •Метод линейных проб с простым шагом p
- •Метод квадратичных проб
- •Метод прямого связывания (перемешивание с цепочками переполнения)
- •Достоинства хеш таблиц:
- •Недостатки хеш таблиц:
Вычисление вторичного индекса
Метод линейных проб с единичным шагом
iвт = (iперв+1) mod n – первое значение iвт;
iвт = (iвт + 1) mod n – последующие значения.
31
Метод линейных проб с простым шагом p
iвт = (iперв + p) mod n – первое значение iвт;
iвт = (iвт + p) mod n – последующие значения;
p – простое число, ближайшее к n (p < n).
32
Метод квадратичных проб
i = (i |
перв |
+j2) mod n, |
j=1,2,3… |
вт |
|
|
33
Метод прямого связывания (перемешивание с цепочками переполнения)
ключ |
........ |
указатель |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
а |
|
|
|
|
|
a1 |
|
|
|
|
a2 |
|
|
|
|
a3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
........ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
........ |
........ |
........ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
h |
........ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
h1 |
|
|
|
|
h2 |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34
Достоинства хеш таблиц:
•возможность чередования операций занесения и поиска;
•простота алгоритмов работы с хеш- таблицами;
•время поиска значительно меньше, чем при бинарном поиске.
35
Недостатки хеш таблиц:
•подбираемые функции расстановки эффективны лишь в среднем, то есть не гарантировано равномерное распределение записей по позициям отображающего вектора;
•трудно рассчитать объем памяти, необходимый для хеш-таблицы, так как заранее неизвестно число записей;
•выполняется поиск только на сравнение ключей; поиск по близости и по интервалу невозможен.
36