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

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

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

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

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