Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Data_Structure / лекц08.ppt
X
- •Исключение узла из дерева
- •а) Удаляемый элемент-лист (3, 8, 13, 18).
- •б) Удаляемый элемент имеет одного "сына".
- •в) Удаляемый элемент имеет двух "сыновей".
- •Удаляемый элемент ЗАМЕНЯЕТСЯ наиболее близким по значению листом (чтобы упорядоченность дерева не нарушилась).
- •Обход
- •Существует три метода обхода дерева:
- •Процедура обхода двоичного дерева сверху вниз
- •Процедура обхода двоичного дерева слева направо
- •Процедура обхода двоичного дерева снизу вверх
- •Порядок обхода узлов сверху вниз
- •Порядок обхода узлов слева направо
- •Порядок обхода узлов снизу вверх
- •Переменные таблицы
- •Свойства переменных таблиц:
- •Хеш- таблица – это таблица, в которой для доступа к записи используется индекс,
- •Отобра- жающий вектор
- •Занесение в хеш-таблицу
- •Поиск в хеш-таблице
- •Методы вычисления функции расстановки для числового ключа :
- •б) Метод свертки
- •в) Метод деления по модулю
- •Методы вычисления функции расстановки для символьного ключа:
- •Требования к хорошей хеш- функции :
- •Таблица с прямым доступом (частный случай хеш- таблицы)
- •Обычно допускается коллизия (переполнение):
- •Методы устранения переполнений (разрешения конфликтов):
- •Метод открытого перемешивания
- •Занесение записи
- •Поиск записи
- •Вычисление вторичного индекса
- •Метод линейных проб с простым шагом p
- •Метод квадратичных проб
- •Метод прямого связывания (перемешивание с цепочками переполнения)
- •Достоинства хеш таблиц:
- •Недостатки хеш таблиц:
Исключение узла из дерева
может нарушить сбалансированность дерева
1
а) Удаляемый элемент-лист (3, 8, 13, 18).
Например:
Ppt^.ukzl:=nil;
Ppt («отец»
удаляемого)
10
5 |
15 |
{ или ppt^.ukzp:=nil} Dispose(pt)
Pt- |
|
|
|
удаляемый 3 |
8 |
13 |
18 |
2
б) Удаляемый элемент имеет одного "сына".
Например:
10
5 |
15 |
Удаляемый
3 |
8 |
18 |
3
в) Удаляемый элемент имеет двух "сыновей".
67
13 |
270 |
6 |
45 |
125 |
340 |
34 |
58 |
76 |
251 |
380 |
4
Удаляемый элемент ЗАМЕНЯЕТСЯ наиболее близким по значению листом (чтобы упорядоченность дерева не нарушилась).
Это будет самый правый по левой ветви или самый левый по правой ветви лист.
5
Обход
Обход- выполнение некоторой операции над каждым элементом дерева
6
Существует три метода обхода дерева:
1.Сверху вниз: R, A, B (порядок обхода вершин).
2.Слева направо: A, R, B.
3.Снизу вверх: A, B, R.
R
A B
7
Процедура обхода двоичного дерева сверху вниз
Procedure D1 (T: U);
Begin
If T<>Nil Then
Begin
Writeln(T^.INF);
D1 (T^.UKZL);
D1 (T^.UKZP)
End
End; |
8 |
Процедура обхода двоичного дерева слева направо
Procedure D2 (T: U);
Begin
If T<>Nil Then
Begin
D2 (T^.UKZL);
Writeln(T^.INF);
D2 (T^.UKZP) |
|
|
End |
9 |
|
End; |
||
|
Процедура обхода двоичного дерева снизу вверх
Procedure D3 (T: U); |
|
Begin |
|
If T<>Nil Then |
|
Begin |
|
D3 (T^.UKZL); |
|
D3 (T^.UKZP); |
|
Writeln(T^.INF) |
|
End |
|
End; |
10 |
Соседние файлы в папке Data_Structure