Укладка дерева — различия между версиями
| Строка 41: | Строка 41: | ||
<br/> | <br/> | ||
| − | + | ||
| − | |||
==См. также== | ==См. также== | ||
| Строка 48: | Строка 47: | ||
*[[Укладка_графа_с_планарными_компонентами_реберной_двусвязности|Укладка графа с планарными компонентами реберной двусвязности]] | *[[Укладка_графа_с_планарными_компонентами_реберной_двусвязности|Укладка графа с планарными компонентами реберной двусвязности]] | ||
*[[Гамма-алгоритм|Гамма-алгоритм]] | *[[Гамма-алгоритм|Гамма-алгоритм]] | ||
| + | |||
| + | ==Примечания== | ||
| + | <references/> | ||
==Источники информации== | ==Источники информации== | ||
Версия 17:26, 18 января 2016
Дерево — планарный граф. Его планарность можно подтвердить, предъявив способ укладки для произвольного дерева. По формуле Эйлера: . Значит дерево можно уложить на плоскость и у него будет только одна грань. Для произвольных графов есть гамма-алгоритм, который проверяет произвольный граф на планарность.
Содержание
Укладка дерева
Существуют несколько способов укладки дерева на плоскости.
Поуровневая укладка
Простой способ построения нисходящего плоского изображения дерева заключается в использовании его поуровневого расположения (англ. layered drawing), при котором вершины глубины имеют координату , а координаты по горизонтальной оси распределяются так, чтобы никакие левые поддеревья не пересекались с правыми (см. рисунок 1). Возможна реализация за линейное время, позволяющая получить оптимальное по ширине плоское дерево в области размера (где — число вершин дерева).
Радиальная поуровневая укладка
Радиальная поуровневая укладка (англ. radial drawing) дерева отличается тем, что его уровни имеют вид концентрических окружностей (см. рисунок 2).
Вершины глубины располагаются на окружностях с радиусом , при этом каждое поддерево находится внутри некоторого сектора (то есть между двумя лучами исходящими из центра). Определим способ выбора угла этого сектора для некоторого поддерева вершины находящейся на уровне . Пусть угол сектора для дерева с корнем равен . Пусть корень поддерева(непосредственный ребенок ) — вершина , обозначим количество вершин в дереве с корнем как . Тогда , где — это угол области , определяемой пересечением касательной в точке к окружности уровня и окружностью уровня . Угол необходим для того, чтобы отрезок не пересек окружность уровня .
Радиальное изображение дерева часто используют для представления свободных деревьев[1], причем в качестве вершины, размещаемой в центре, берется одна из его центральных вершин.
hv-изображения
Бинарные деревья можно изобразить при помощи hv-изображений (англ. horizontal-vertical drawing) (см. рисунок 3). При этом для каждой вершины выполняются следующие свойства: сын вершины ставится в ряд за : либо по горизонтали справа, либо по вертикали вниз; два прямоугольника, ограничивающие левое и правое поддерево вершины , не пересекаются.
См. также
- Укладка графа на плоскости
- Укладка графа с планарными компонентами реберной двусвязности
- Гамма-алгоритм
Примечания
- ↑ Под свободными деревьями (англ. free trees) понимают деревья без выделенного корня.