Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Data_Structure / лекц07.ppt
Скачиваний:
57
Добавлен:
03.03.2016
Размер:
199.17 Кб
Скачать

Левой (правой) ветвью элемента

называется совокупность всех элементов дерева, к которым имеется путь от этого элемента через его левый (правый) указатель.

11

Пример двоичного дерева и соответствующей ему связной структуры

 

 

A

 

 

 

A

 

 

 

 

 

 

 

 

 

B

 

C

 

B

 

C

 

 

 

 

 

 

D

E

F

G

D

E

F

G

12

Основные операции, выполняемые над деревьями

1)включение элемента;

2)поиск элемента по заданному ключу;

3)исключение элемента из дерева;

4)обход дерева.

13

Упорядоченное двоичное дерево

(бинарное дерево поиска)

Упорядоченное двоичное дерево (бинарное дерево поиска) удовлетворяет следующему условию: для каждого узла дерева все ключи в левой ветви меньше, а в правой ветви больше или равны значению ключа данного узла.

14

Построение упорядоченного двоичного дерева

1)Ключ, поступивший первым, располагается в корне дерева (пусть это будет a1).

2)Если a2 (ключ второго узла) больше или равен a1, то a2 помещается в правую ветвь узла a1, в противном случае – в левую ветвь:

a

a2>=a1

a2<a1

a1

1

 

 

 

 

 

a2

a2

15

 

 

 

Выбор места для ai производится следующим образом:

если ai< a1 выполняется переход по левой ветви корня;

если ai>=a1 – переход по правой ветви корня;

если ai< aj – переход по левой ветви узла aj;

если ai>=aj – переход по правой ветви узла aj.

Переходы по ветвям (спуск по уровням дерева) выполняются до тех пор, пока не будет найден

соответствующий пустой указатель.

16

 

Например, если ключи поступают в последовательности: 67, 13, 45, 270, 34, 58, 6, 340, 125, 76, 251, 380, то упорядоченное двоичное дерево будет иметь вид:

67

13

270

6

45

125

340

34

58

76

251

380

17

Описание элемента дерева на языке Паскаль имеет вид:

TYPE U = ^Zap;

 

Zap = RECORD

 

UKZL : U;

 

INF : Integer;

 

. . . . . .

 

UKZP : U

 

END;

18

Процедура включения элемента в упорядоченное двоичное дерево

Формальные параметры:

PDR – указатель на корень дерева (<>Nil); UVKL – указатель включаемого элемента

INF

Включение элемента в корень дерева нужно

осуществлять по другой процедуре.

19

 

Procedure VKL (Var Pdr,Uvkl : U);

Var

Pt : U;

Begin

Pt:=Pdr;

20

Соседние файлы в папке Data_Structure