лекции программирование / polevoy_cpp_2012_spring_lecture_11
.pdf
Дерево (иллюстрация)
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 |
|||
