Дерево (теория графов)

редактировать
Деревья
Дерево graph.svg Помеченное дерево с 6 вершинами и 5 ребрами.
Вершины v
Ребра v - 1
Хроматическое число 2, если v>1
Таблица графиков и параметров

В теории графов, дерево - это неориентированный граф, в котором любые две вершины соединены ровно одним путем, или, что эквивалентно, подключенным ациклическим неориентированным графом. лес - это неориентированный граф, в котором любые две вершины соединены не более чем одним путем, или, что эквивалентно, ациклический неориентированный граф, или, что то же самое, несвязное объединение деревьев.

A многодерево (или направленное дерево или ориентированное дерево или односвязная сеть ) - это ориентированный ациклический граф (DAG) чей основной неориентированный граф является деревом. многолесье (или направленный лес или ориентированный лес ) - это ориентированный ациклический граф, базовый неориентированный граф которого является лесом.

Различные виды структур данных, называемые деревьями в информатике, имеют базовые графы, которые являются деревьями в теория графов, хотя такие структуры данных обычно являются корневыми деревьями . Укоренившееся дерево может быть направленным, называемым направленным корневым деревом, либо все его края должны быть направлены от корня - в этом случае это называется зародышем или исходное дерево - или все его края указывают на корень - в этом случае это называется анти-древовидным или внутренним деревом . Само корневое дерево было определено некоторыми авторами как ориентированный граф. корневой лес - это непересекающееся объединение корневых деревьев. Корневой лес может быть направленным, называемым направленным корневым лесом, либо все его края будут направлены от корня в каждом корневом дереве - в этом случае это называется ветвлением или out-forest - или чтобы все его края указывали на корень в каждом корневом дереве - в этом случае это называется анти-ветвлением или в -forest .

Термин «дерево» был придуман в 1857 году британским математиком Артуром Кэли.

Содержание
  • 1 Определения
    • 1.1 Дерево
    • 1.2 Лес
    • 1.3 Политри
    • 1.4 Polyforest
    • 1.5 Дерево с корнями
    • 1.6 Упорядоченное дерево
  • 2 Свойства
  • 3 Перечисление
    • 3.1 Помеченные деревья
    • 3.2 Немаркированные деревья
  • 4 Типы деревьев
  • 5 См. Также
  • 6 Примечания
  • 7 Ссылки
  • 8 Дополнительная литература
Определения

Дерево

Дерево - это неориентированный граф G, который удовлетворяет любому из следующих эквивалентных условий:

Если G имеет конечное число вершин, скажем n из них, то приведенные выше утверждения также эквивалентны любому из следующих условий:

  • G связна и имеет n - 1 ребро.
  • G связен, и каждый подграф графа G включает по крайней мере одну вершину с нулевым или одним инцидентным ребром. (То есть G связен и 1-вырожденный.)
  • G не имеет простых циклов и имеет n - 1 ребро.

Как и везде в теории графов, граф нулевого порядка ( граф без вершин), как правило, не считается деревом: хотя он является пустым связным как граф (любые две вершины могут быть соединены путем), он не является 0-связным (или даже ( −1) -связно) в алгебраической топологии, в отличие от непустых деревьев, и нарушает соотношение «на одну вершину больше, чем ребер». Однако его можно рассматривать как лес, состоящий из нулевых деревьев.

внутренняя вершина (или внутренняя вершина или вершина ветки ) - это вершина степени не менее 2. Аналогично, внешняя вершина (или внешняя вершина, конечная вершина или лист) - это вершина степени 1.

Неприводимое дерево (или последовательно сокращенное дерево) - это дерево, в котором нет вершины степени 2 ( перечислен в последовательности A000014 в OEIS ).

Forest

Лес - это неориентированный граф, в котором любые две вершины соединены не более чем одним путем. Точно так же лес - это неориентированный ациклический граф. Эквивалентно, лес - это неориентированный граф, все компоненты связности которого являются деревьями; другими словами, граф состоит из непересекающегося объединения деревьев. В качестве частных случаев граф нулевого порядка (лес, состоящий из нулевых деревьев), одно дерево и граф без ребер являются примерами лесов. Поскольку для каждого дерева V - E = 1, мы можем легко подсчитать количество деревьев, находящихся внутри леса, вычитая разницу между общим числом вершин и общим количеством ребер. TV - TE = количество деревьев в лесу.

Многодерево

Многодерево (или ориентированное дерево, или ориентированное дерево, или односвязная сеть) - это ориентированный ациклический граф (DAG), базовый неориентированный граф которого является деревом. Другими словами, если мы заменим его ориентированные ребра неориентированными ребрами, мы получим неориентированный граф, который является одновременно связным и ациклическим.

Некоторые авторы ограничивают фразу «направленное дерево» случаем, когда все ребра направлены к определенной вершине, или все они направлены от определенной вершины (см. древовидность ).

Полифорест

Полифорест (или направленный лес, или ориентированный лес) - это ориентированный ациклический граф, базовым неориентированным графом которого является лес. Другими словами, если мы заменим его ориентированные ребра неориентированными ребрами, мы получим неориентированный граф, который является ациклическим.

Некоторые авторы ограничивают фразу «направленный лес» случаем, когда все ребра каждого связного компонента направлены к определенной вершине или все направлены от конкретной вершины (см. ветвление ).

Дерево с корнем

Дерево с корнем - это дерево, в котором одна вершина назначена корнем. Ребрам корневого дерева может быть присвоена естественная ориентация, либо от корня, либо по направлению к нему, и в этом случае структура становится ориентированным корневым деревом. Когда направленное корневое дерево имеет ориентацию от корня, оно называется древовидным или выходящим за пределы дерева; когда он ориентирован на корень, это называется антидревесением или внутренним деревом. Древовидный порядок - это частичное упорядочение на вершинах дерева с u < v if and only if the unique path from the root to v passes through u. A rooted tree which is a подграф некоторого графа G является нормальным деревом, если концы каждого ребра в G сравнимы в этом древовидном порядке, если эти концы являются вершинами дерева (Diestel 2005, p. 15). Деревья с корнями, часто с дополнительной структурой, такой как упорядочение соседей в каждой вершине, являются ключевой структурой данных в информатике; см. древовидная структура данных.

В контексте, где деревья должны иметь корень, дерево без назначенного корня называется свободным деревом.

Помеченное дерево - это дерево, в котором каждой вершине присвоена уникальная метка. Вершины помеченного дерева на n вершинах обычно обозначаются метками 1, 2,..., n. рекурсивное дерево - это помеченное корневое дерево, в котором метки вершин соответствуют порядку дерева (т. Е. Если u < v for two vertices u and v, then the label of u is smaller than the label of v).

в корневом дереве, родительская вершина v является вершиной, соединенной с v на пути пути к корню; каждая вершина имеет уникального родителя, за исключением корня, у которого нет родителя. Дочерний элемент вершины v - это вершина, для которой v является родителем. Асцендент вершины v равен любая вершина, которая является либо родителем v, либо (рекурсивно) восходящим элементом родительской вершины v. Потомком вершины v является любая вершина, которая либо является потомком v, либо (рекурсивно) потомком любого из потомков вершины v. Родственным братом вершине v является любая другая вершина в дереве, имеющая того же родителя, что и v. Лист - это вершина без дочерних элементов. Внутренняя вершина - это вершина, которая не является листом.

Высота вершины корневого дерева - это длина самого длинного нисходящего пути к листу из этой вершины. Высота дерева - это высота корня. Глубина вершины - это длина путь к его корню (корневой путь). Это обычно требуется при манипулировании различными самобалансирующимися деревьями, в частности деревьями AVL. Корень имеет нулевую глубину, листья имеют нулевую высоту, а дерево только с одной вершиной (следовательно, и корень, и лист) имеют нулевую глубину и высоту. Обычно пустое дерево (дерево без вершин, если это разрешено) имеет глубину и высоту -1.

A k-арное дерево - корневое дерево, в котором каждая вершина имеет не более k дочерних элементов. 2-арные деревья часто называют бинарными деревьями, а 3-арные деревья иногда называют тернарными деревьями.

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

Упорядоченное дерево (или плоское дерево) является корневое дерево, в котором указан порядок дочерних элементов каждой вершины. Это называется «плоским деревом», потому что порядок дочерних элементов эквивалентен вложению дерева в плоскость с корнем вверху и дочерними элементами каждой вершины ниже этой вершины. При встраивании корневого дерева в плоскость, если зафиксировать направление дочерних элементов, скажем слева направо, то вложение задает порядок дочерних элементов. И наоборот, для упорядоченного дерева и обычного рисования корня наверху дочерние вершины в упорядоченном дереве можно рисовать слева направо, что дает по существу уникальное плоское вложение.

Свойства
  • Каждое дерево является двудольным графом. Граф двудольный тогда и только тогда, когда он не содержит циклов нечетной длины. Поскольку дерево вообще не содержит циклов, оно является двудольным.
  • Каждое дерево является медианным графом.
  • Каждое дерево со всего счетным числом вершин является плоским граф.
  • Каждый связный граф G допускает остовное дерево, которое является деревом, содержащим каждую вершину G и чьи ребра являются ребрами G.
  • Каждый связный граф только с счетное число вершин допускает нормальное остовное дерево (Diestel 2005, Предложение 8.2.4).
  • Существуют связанные графы с несчетным числом вершин, которые не допускают нормального остовного дерева (Diestel 2005, Предложение 8.5.2).
  • Каждое конечное дерево с n вершинами и n>1 имеет как минимум две конечные вершины (листья). Это минимальное количество листьев характерно для графов путей ; максимальное число n - 1 достигается только звездчатыми диаграммами. Количество листьев не меньше максимальной степени вершины.
  • Для любых трех вершин в дереве три пути между ними имеют ровно одну общую вершину (эта вершина называется медианой этих трех вершин).
  • Каждое дерево имеет центр, состоящий из одной или двух смежных вершин. Центр - это средняя вершина или две средние вершины на каждом самом длинном пути. Аналогично, каждое дерево с n вершинами имеет центроид, состоящий из одной или двух смежных вершин. В первом случае удаление вершины разбивает дерево на поддеревья с числом вершин менее n / 2. Во втором случае удаление ребра между двумя центроидными вершинами разбивает дерево на два поддерева с ровно n / 2 вершинами.
Перечисление

Деревья с метками

Формула Кэли утверждает, что там - это n деревьев на n помеченных вершинах. Классическое доказательство использует последовательности Прюфера, которые, естественно, показывают более сильный результат: количество деревьев с вершинами 1, 2,..., n степеней d 1, d 2,..., d n соответственно, является полиномиальным коэффициентом

(n - 2 d 1 - 1, d 2 - 1,…, dn - 1). {\ displaystyle {n-2 \ choose d_ {1} -1, d_ {2} -1, \ ldots, d_ {n} -1}.}{\ displaystyle {n-2 \ select d_ {1} -1, d_ {2 } -1, \ ldots, d_ {n} -1}. }

Более общая проблема состоит в подсчете остовных деревьев в неориентированном графе, к которому обращается теорема о матричном дереве. (Формула Кэли является частным случаем остовных деревьев в полном графе.) Аналогичная проблема подсчета всех поддеревьев независимо от размера: # P-complete в общем случае (Джеррам (1994)).

Деревья без меток

Подсчитать количество свободных деревьев без меток - более сложная задача. Замкнутая формула для числа t (n) деревьев с n вершинами от до изоморфизма графов неизвестна. Первые несколько значений t (n):

1, 1, 1, 1, 2, 3, 6, 11, 23, 47, 106, 235, 551, 1301, 3159,… (последовательность A000055 в OEIS ).

Otter (1948) доказал асимптотическую оценку

t (n) ∼ C α nn - 5/2 при n → ∞, {\ displaystyle t (n) \ sim C \ alpha ^ {n} n ^ {- 5/2} \ quad {\ text {as}} n \ to \ infty,}{\ displaystyle t (n) \ sim C \ alpha ^ {n} n ^ {- 5/2} \ quad {\ text {as}} n \ to \ infty,}

со значениями C и α, примерно равными 0,534949606... и 2.95576528565... (последовательность A051491 в OEIS ), соответственно (здесь f ~ g означает, что lim n → ∞ f / g = 1.) Это является следствием его асимптотической оценки числа r (n) немаркированных корневых деревьев с n вершинами:

r (n) ∼ D α nn - 3/2 при n → ∞, {\ displaystyle r ( n) \ sim D \ alpha ^ {n} n ^ {- 3/2} \ quad {\ text {as}} n \ to \ infty,}r (n) \ sim D \ alpha ^ nn ^ {- 3/2} \ quad \ text {as} n \ to \ infty,

с D около 0,43992401257... и тем же α, что и выше (см. Knuth (1997), глава 2.3.4.4 и Flajolet Sedgewick (2009), глава VII.5, стр. 475).

Первые несколько значений r (n):

1, 1, 2, 4, 9, 20, 48, 115, 286, 71 9, 1842, 4766, 12486, 32973,… (последовательность A000081 в OEIS )
Типы деревьев
  • A граф путей (или линейный граф) состоит из n вершин, расположенных в строке, так что вершины i и i + 1 соединены ребром для i = 1,..., n − 1.
  • A звездообразное дерево состоит из центральной вершины, называемой корнем, и нескольких прикрепленных графов путей к нему. Более формально дерево называется звездообразным, если у него ровно одна вершина степени выше 2.
  • A звездное дерево - это дерево, которое состоит из одной внутренней вершины (и n − 1 листа). Другими словами, звездное дерево порядка n - это дерево порядка n с максимально возможным количеством листьев.
  • A гусеничное дерево - это дерево, в котором все вершины находятся на расстоянии 1 от центрального подграфа пути.
  • A дерево лобстера - это дерево, в котором все вершины находятся на расстоянии 2 от подграфа центрального пути.
  • Регулярное дерево степени d - это бесконечное дерево с d ребрами в каждой вершине. Они возникают как графы Кэли из свободных групп и в теории зданий Титса.
См. Также
Примечания
Ссылки
Дополнительная литература
Викискладе есть материалы, связанные с деревом (теория графов).
Последняя правка сделана 2021-06-11 10:40:56
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте