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

лекции программирование / polevoy_cpp_2012_spring_lecture_11

.pdf
Скачиваний:
35
Добавлен:
20.04.2015
Размер:
204.11 Кб
Скачать

Дерево (иллюстрация)

a < b a < e a < f

b < c b < d

листья

c d e f

b

a корень

a, {b, { c , d }, e , f}

21.04.2012

cppNewb.ru

51

Дерево (доп. определения)

корень – выделенная вершина дерева

поддерево – любое дерево, корень которого не совпадает с корнем исходного дерева

21.04.2012

cppNewb.ru

52

Узел дерева (доп. определения)

степень — количество поддеревьев узла

уровень — длина пути от корня до узла рекурсивное определение:

уровень корня дерева T равен 0

уровень любого другого узла на единицу больше, чем уровень корня ближайшего поддерева дерева T, содержащего данный узел

21.04.2012

cppNewb.ru

53

“Родственные отношения”

родитель, родительский узел

ребенок, потомок

подчиненный по отношению к родителю узел

предок

брат

братья имеют общего родителя

21.04.2012

cppNewb.ru

54

“Родственные отношения” (иллюстрация)

братья

c d

 

 

дети для a

b

e

f

a общий предок

21.04.2012

cppNewb.ru

55

N-арное дерево

степень внутреннего узла не превышает N

степень внутреннего узла N

21.04.2012

cppNewb.ru

56

N-арное дерево

бинарное (двоичное) дерево (N=2)

тернарное дерево (N=3)

квадро-дерево (N=4)

21.04.2012

cppNewb.ru

57

Радиальное подчинение (иллюстрация)

e

d

 

 

 

a

 

 

 

b

 

 

f

 

 

корень

 

c

 

 

 

 

21.04.2012

cppNewb.ru

58

Представление дерева в памяти

список указателей на детей

список индексов (в массиве) детей

“послойно”

список ребер

матрица отношений

21.04.2012

cppNewb.ru

59

Список указателей

• узел

корень

– число детей

– указатели на детей

– данные

 

 

 

 

 

 

21.04.2012

cppNewb.ru

60