Что такое некорневое дерево

Некорневые деревья в теории графов: основная концепция и примеры использования

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

Определение

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

Примеры использования

Алгоритмы поиска

Некорневые деревья могут быть использованы в алгоритмах поиска, таких как DFS (Depth-First Search) и BFS (Breath-First Search). В таких алгоритмах, граф представляется в виде некорневого дерева, где каждая вершина соответствует узлу дерева, а ребра соответствуют связям между вершинами.

Визуализация данных

Некорневые деревья могут также использоваться для визуализации данных. Например, деревья производственных структур могут быть представлены как некорневые деревья, где каждый узел соответствует товарной номенклатуре, а ребра — производственным связям между товарами.

Машинное обучение

Некорневые деревья могут использоваться в машинном обучении для классификации и кластеризации данных. Например, решающие деревья могут быть использованы для определения класса объекта, а некорневые деревья — для кластеризации данных.

Читайте также:  Почистить дерево от масла

Выводы

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

Источник

Применение некорневых деревьев в алгоритмах поиска и компьютерной науке

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

Определение некорневых деревьев

Некорневые деревья — это структуры данных, которые состоят из узлов и связей между ними, где каждый узел может иметь несколько потомков, но не имеет родителя. Такая структура представляет собой лес, состоящий из нескольких деревьев.

Примером некорневого дерева является дерево игры в шахматы, где каждый узел представляет один из возможных ходов на доске.

Применение некорневых деревьев в алгоритмах поиска

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

Применение некорневых деревьев в компьютерной науке

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

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

Заключение

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

Источник

Некорневое двоичное дерево

Некорневое двоичное дерево — это некорневое дерево, в котором каждая вершина имеет либо одного, либо трёх соседей.

Определения

Свободное дерево или некорневое дерево — это связный неориентированный граф без циклов. Вершины, имеющие одного соседа, называются листьями дерева, остальные вершины называются внутренними узлами. Степень вершины — это число её соседей. В дереве с более чем одной дугой листья имеют степень единица. Неориентированное двоичное дерево — это свободное дерево, в котором все внутренние узлы имеют степень три.

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

Кроме того, можно различать деревья, в которых все вершины имеют различные метки, деревья, в которых помечены только листья, и деревья, в которых узлы не помечены. Некорневое двоичное дерево с n листьями имеет n − 2 внутренних узлов, так что метки можно взять из интервала от 1 до 2n − 1, если нужно пометить все узлы, или набора чисел от 1 до n, если нужно пометить только листья.

Связанные структуры

Корневые двоичные деревья

Некорневое двоичное дерево T может быть преобразовано в корневое двоичное дерево (то есть корневое дерево, в котором каждый нелистовой узел имеет в точности два потомка) путём выбора корневого ребра e дерева T, помещением нового корня в середине ребра e и направлением всех рёбер полученного подразделённого дерева от корня. Обратно — любое корневое дерево может быть преобразовано в некорневое двоичное дерево путём удаления корневой дуги, заменой пути между двумя его потомками одним неориентированным ребром и удалением направлений дуг в графе. По этой причине имеется в точности в 2n −3 раза больше корневых деревьев с n листьями по сравнению с некорневыми двоичными деревьями с n листьями.

Иерархическая кластеризация

Иерархическую кластеризациию набора объектов можно формализовать как максимальное семейство множеств объектов, в котором никакого два множества не пересекаются (но некоторые множества могут содержаться в других). То есть для двух множеств S и T в семействе либо S и T не пересекаются, либо одно множество содержится в другом, и ни одно множество не может быть добавлено в семейство с сохранением этого свойства. Если T является некорневым двоичным деревом, оно определяет иерархическую кластеризацию листьев этого дерева — для каждого ребра (u,v) из T существует кластер, состоящий из листьев, которые более близки к u, чем к v, и эти множества вместе с пустым множеством и множеством всех листьев образуют максимальное непересекающееся семейство. В обратную сторону, из любого семейства непересекающихся множеств над множеством из n элементов можно сформировать единственное некорневое двоичное дерево, которое имеет узел для любой тройки (A,B,C) непересекающихся множеств из семейства, покрывающих вместе все элементы .

Эволюционные деревья

Согласно простым видам теории эволюции, историю жизни можно свести в филогенетическое дерево, в котором каждый узел описывает род, листья представляют существующие ныне виды, а рёбра представляют связь родитель-потомок между родами. Это дерево имеет естественную ориентацию рёбер от родительского вида к потомкам, а корень является общим предком видов, так что такое дерево является корневым деревом. Однако некоторые методы восстановления двоичных деревьев могут восстановить только узлы и рёбра этого дерева, но не их ориентацию.

Например, методы кладистики, такие как принципы наибольшей экономии, используют в качестве данных множество двоичных свойств, описывающих признаки этих родов. Эти методы ищут дерево с заданными видами в качестве листьев, в котором внутренние узлы также помечены некоторыми признаками, и пытаются минимизировать число случаев, в которых признак присутствует только на одной вершине ребра в дереве. Идеально — каждый признак может иметь только одно ребро с таким случаем. Изменение корня дерева не изменяет число рёбер с различными признаками, так что методы, основанные на принципах наибольшей экономии, не имеют возможности определить положение корня дерева и создают некорневое дерево, зачастую некорневое двоичное дерево.

Некорневые двоичные деревья можно также образовать методами реконструкции эволюционных деревьев, основанными на определении данных для каждых четырёх родов листьев, некорневого двоичного дерева, описывающего эволюцию этих четырёх видов, и методами, которые используют тетрадное расстояние для измерения расстояния между деревьями.

Декомпозиция на ветви

Некорневые двоичные деревья используются также для определения декомпозиции графа на ветви графов путём образования некорневого двоичного дерева, листья которого представляют рёбра данного графа. То есть, декомпозицию графа на ветви можно рассматривать как иерархическую кластеризацию рёбер грфа. Декомпозиция графа на ветви и соответствующая численная величина, ширина ветвления, тесно связаны с древесной шириной и образуют основу для построения эффективных алгоритмов динамического программирования на графах.

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

Ввиду применения некорневых двоичных деревьев в иерархической кластеризации, наиболее естественной задачей перечисления графов на некорневых двоичных деревьях является подсчёт числа деревьев с n помеченными листьями и непомеченными внутренними узлами. Некорневое двоичное дерево с n помеченными листьями может быть образовано путём соединения n-го листа с новым узлом в середине любого ребра некорневого двоичного дерева с n − 1 помеченными листьями. Имеется 2n − 5 рёбер, к которым n-ый узел можно добавить. Таким образом, число деревьев с n листьями больше, чем число деревьев с n − 1 листьями в 2n − 5 раз, так что число деревьев с n помеченными листьями равно двойному факториалу

Число деревьев с 2, 3, 4, 5, . помеченными листьями равно

1, 1, 3, 15, 105, 945, 10395, 135135, 2027025, 34459425, . (последовательность A001147 в OEIS).

Альтернативные названия

Некорневые двоичные деревья также называются свободными двоичными деревьями, кубическими деревьями, тернарными деревьями и некорневыми тернарными деревьями. Однако, название «свободное двоичное дерево» также используется для некорневых деревьев, которые могут иметь узлы степени два и для корневых бинарных деревьев с неориентированными потомками, а название «троичное дерево» чаще используется в смысле «корневое дерево с тремя потомками».

Источник

Оцените статью