Дерево (теория графов) - Tree (graph theory)

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

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

А многодерево[3] (или же направленное дерево[4] или же ориентированное дерево[5][6] или же односвязная сеть[7]) это ориентированный ациклический граф (DAG), чей базовый неориентированный граф является деревом. А полифорест (или же направленный лес или же ориентированный лес) является ориентированным ациклическим графом, базовым неориентированным графом которого является лес.

Различные виды структуры данных упоминается как деревья в Информатика имеют лежащие в основе графики которые являются деревьями в теории графов, хотя такие структуры данных обычно укоренившиеся деревья. Укоренившееся дерево может быть направлено, называемое направленное корневое дерево,[8][9] либо сделать так, чтобы все его края были направлены от корня - в этом случае это называется древовидность[4][10] или же вне дерева[11][12]- или сделать так, чтобы все его края были направлены к корню - в этом случае это называется антидревесение[13] или же в дереве.[11][14] Само корневое дерево было определено некоторыми авторами как ориентированный граф.[15][16][17] А укорененный лес несвязное объединение корневых деревьев. Корневой лес может быть направлен, называемый направленный укорененный лес, либо сделать так, чтобы все его края были направлены в сторону от корня в каждом корневом дереве - в этом случае это называется разветвление или же вне леса- или сделать так, чтобы все его края указывали на корень в каждом корневом дереве - в этом случае это называется анти-ветвление или же в лесу.

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

Определения

Дерево

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

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

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

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

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

An неприводимое дерево (или же последовательное редуцированное дерево) - дерево, в котором нет вершины степени 2 (пронумерованной в последовательности A000014 в OEIS ).[19]

лес

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

Политри

А многодерево[3] (или же направленное дерево[4] или же ориентированное дерево[5][6] или же односвязная сеть[7]) это ориентированный ациклический граф (DAG), чей базовый неориентированный граф является деревом. Другими словами, если мы заменим его ориентированные ребра неориентированными ребрами, мы получим неориентированный граф, который является одновременно связным и ациклическим.

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

Полифорест

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

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

Укоренившееся дерево

А укоренившееся дерево дерево, в котором одна вершина обозначена как корень.[20] Ребрам корневого дерева можно присвоить естественную ориентацию, либо далеко от или же к корень, и в этом случае структура становится направленное корневое дерево. Когда направленное корневое дерево имеет ориентацию от корня, оно называется древовидность[4] или же вне дерева;[11] когда он ориентирован на корень, он называется антидревесение или же в дереве.[11] В древовидный порядок это частичный заказ на вершинах дерева с ты < v тогда и только тогда, когда уникальный путь от корня до v проходит через ты. Укоренившееся дерево, которое подграф некоторого графа грамм это нормальное дерево если концы каждого края в грамм сравнимы в этом древовидном порядке, если эти концы являются вершинами дерева (Дистель 2005, п. 15). Деревья с корнями, часто с дополнительной структурой, такой как упорядочение соседей в каждой вершине, являются ключевой структурой данных в информатике; видеть древовидная структура данных.

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

А маркированное дерево дерево, в котором каждой вершине присвоена уникальная метка. Вершины помеченного дерева на п вершинам обычно присваиваются метки 1, 2, ..., п. А рекурсивное дерево является помеченным корневым деревом, в котором метки вершин соответствуют порядку дерева (т. е. если ты < v для двух вершин ты и v, то метка ты меньше, чем этикетка v).

В корневом дереве родитель вершины v это вершина, соединенная с v на дорожка в корень; каждая вершина имеет уникального родителя, кроме корня, у которого нет родителя.[20] А ребенок вершины v вершина которого v родитель.[20] An восходящий вершины v любая вершина, которая является либо родителем v или является (рекурсивно) восходящим элементом родительского элемента v. А потомок вершины v любая вершина, которая является дочерним элементом v или является (рекурсивно) потомком любого из потомков v. А брат или сестра к вершине v любая другая вершина на дереве, имеющая того же родителя, что и v.[20] А лист вершина без детей.[20] An внутренняя вершина это вершина, которая не является листом.[20]

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

А к-арное дерево является корневым деревом, в каждой вершине которого не более k дети.[21] 2-арные деревья часто называют бинарные деревья, а 3-арные деревья иногда называют тройные деревья.

Заказанное дерево

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

Характеристики

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

Перечисление

Маркированные деревья

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

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

Немаркированные деревья

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

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

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

со значениями C и α известно как приблизительно 0,534949606 ... и 2,95576528565 ... (последовательность A051491 в OEIS ), соответственно. (Здесь, ж ~ грамм Значит это Limп → ∞ ж /грамм = 1.) Это следствие его асимптотической оценки числа р(п) немаркированных корневых деревьев с п вершины:

с D около 0,43992401257 ... и то же самое α как указано выше (ср. Кнут (1997), гл. 2.3.4.4 и Флажолет и Седжвик (2009), гл. VII.5, стр. 475).

Первые несколько значений р(п) находятся[23]

1, 1, 2, 4, 9, 20, 48, 115, 286, 719, 1842, 4766, 12486, 32973,… (последовательность A000081 в OEIS )

Виды деревьев

  • А граф путей (или же линейный график) состоит из п вершины расположены в линию, так что вершины я и я+1 соединены ребром для я=1,...,п−1.
  • А звездообразное дерево состоит из центральной вершины, называемой корень и несколько графов путей, прикрепленных к нему. Более формально дерево называется звездным, если у него ровно одна вершина степени больше 2.
  • А звездное дерево дерево, состоящее из единственной внутренней вершины (и п−1 листья). Другими словами, звездное дерево порядка п это дерево порядка п с как можно большим количеством листьев.
  • А гусеница дерево, в котором все вершины находятся на расстоянии 1 от центрального подграфа пути.
  • А дерево лобстера дерево, в котором все вершины находятся на расстоянии 2 от центрального подграфа пути.
  • А обычное дерево степени d это бесконечное дерево с d ребра в каждой вершине. Они возникают как Графики Кэли из бесплатные группы, а в теории Сиськи зданий.

Смотрите также

Примечания

  1. ^ Бендер и Уильямсон 2010, п. 171.
  2. ^ Бендер и Уильямсон 2010, п. 172.
  3. ^ а б Видеть Дасгупта (1999).
  4. ^ а б c d Deo 1974, п. 206.
  5. ^ а б Видеть Харари и Самнер (1980).
  6. ^ а б Видеть Симион (1991).
  7. ^ а б Видеть Ким и Перл (1983).
  8. ^ Стэнли Гилл Уильямсон (1985). Комбинаторика для компьютерных наук. Courier Dover Publications. п. 288. ISBN  978-0-486-42076-9.
  9. ^ Мехран Месбахи; Магнус Эгерштедт (2010). Теоретико-графические методы в многоагентных сетях. Издательство Принстонского университета. п. 38. ISBN  978-1-4008-3535-5.
  10. ^ Дин-Чжу Ду; Кер-И Ко; Сяодун Ху (2011). Разработка и анализ алгоритмов аппроксимации. Springer Science & Business Media. п. 108. ISBN  978-1-4614-1701-9.
  11. ^ а б c d Deo 1974, п. 207.
  12. ^ Джонатан Л. Гросс; Джей Йеллен; Пинг Чжан (2013). Справочник по теории графов, второе издание. CRC Press. п. 116. ISBN  978-1-4398-8018-0.
  13. ^ Бернхард Корте; Йенс Выген (2012). Комбинаторная оптимизация: теория и алгоритмы (5-е изд.). Springer Science & Business Media. п. 28. ISBN  978-3-642-24488-9.
  14. ^ Курт Мельхорн; Питер Сандерс (2008). Алгоритмы и структуры данных: базовый набор инструментов (PDF). Springer Science & Business Media. п. 52. ISBN  978-3-540-77978-0.
  15. ^ Дэвид Макинсон (2012). Наборы, логика и математика для вычислений. Springer Science & Business Media. С. 167–168. ISBN  978-1-4471-2499-3.
  16. ^ Кеннет Розен (2011). Дискретная математика и ее приложения, 7-е издание. McGraw-Hill Science. п. 747. ISBN  978-0-07-338309-5.
  17. ^ Александр Шрайвер (2003). Комбинаторная оптимизация: многогранники и эффективность. Springer. п. 34. ISBN  3-540-44389-4.
  18. ^ Кэли (1857) «К теории аналитических форм, называемых деревьями», Философский журнал, 4-я серия, 13 : 172–176.
    Однако следует отметить, что в 1847 г. K.G.C. фон Штаудт, в его книге Geometrie der Lage (Nürnberg, (Германия): Bauer und Raspe, 1847) представил доказательство теоремы Эйлера о многограннике, которая опирается на деревья на страницы 20–21. Также в 1847 году немецкий физик Густав Кирхгоф исследовали электрические цепи и обнаружили связь между количеством (n) проводов / резисторов (ветвей), количеством (m) соединений (вершин) и количеством (μ) петель (граней) в цепи. Он доказал связь с помощью аргумента, основанного на деревьях. См .: Кирхгоф Г. Р. (1847). "Ueber die Auflösung der Gleichungen, auf welche man bei der Untersuchung der linearen Vertheilung galvanischer Ströme geführt wird" (О решении уравнений, к которым приводит исследование линейного распределения гальванических токов), Annalen der Physik und Chemie, 72 (12) : 497–508.
  19. ^ Харари и Принс 1959, п. 150.
  20. ^ а б c d е ж грамм Бендер и Уильямсон 2010, п. 173.
  21. ^ Видеть Блэк, Пол Э. (4 мая 2007 г.). "к-арное дерево". Национальный институт стандартов и технологий США. Получено 8 февраля 2015.
  22. ^ Стэнли, Ричард П. (2012), Перечислительная комбинаторика, Vol. я, Кембриджские исследования по высшей математике, 49, Cambridge University Press, стр. 573, г. ISBN  9781107015425
  23. ^ Видеть Ли (1996).

Рекомендации

дальнейшее чтение