Укладка дерева — различия между версиями
Exprmntr (обсуждение | вклад)  (→hv-изображения)  | 
				 (Добавлены картинки ко всем способам укладки дерева)  | 
				||
| Строка 2: | Строка 2: | ||
== Укладка дерева ==  | == Укладка дерева ==  | ||
| + | [[Файл:Layer-graph.jpg|250px|right|thumb|Пример поуровневой укладки дерева]]  | ||
Существуют несколько способов укладки дерева на плоскости.  | Существуют несколько способов укладки дерева на плоскости.  | ||
=== Поуровневая укладка ===  | === Поуровневая укладка ===  | ||
Простой способ построения нисходящего плоского изображения дерева заключается в использовании его поуровневого расположения, при котором вершины глубины <tex>a</tex> имеют координату <tex>y = – a</tex>, а координаты по горизонтальной оси распределяются так, чтобы никакие левые поддеревья не пересекались с правыми. Возможна реализация за линейное время, позволяющая получить оптимальное по ширине плоское дерево в области размера <tex>O(N^2)</tex> (где <tex>N</tex> — число вершин дерева).    | Простой способ построения нисходящего плоского изображения дерева заключается в использовании его поуровневого расположения, при котором вершины глубины <tex>a</tex> имеют координату <tex>y = – a</tex>, а координаты по горизонтальной оси распределяются так, чтобы никакие левые поддеревья не пересекались с правыми. Возможна реализация за линейное время, позволяющая получить оптимальное по ширине плоское дерево в области размера <tex>O(N^2)</tex> (где <tex>N</tex> — число вершин дерева).    | ||
=== Радиальная поуровневая укладка ===  | === Радиальная поуровневая укладка ===  | ||
| + | [[Файл:Circle_layered_tree.jpg|250px|right|thumb|Тот же граф, но уложенный радиально]]  | ||
Радиальная поуровневая укладка дерева отличается тем, что его уровни имеют вид концентрических окружностей, поддеревья занимают секторные сегменты.    | Радиальная поуровневая укладка дерева отличается тем, что его уровни имеют вид концентрических окружностей, поддеревья занимают секторные сегменты.    | ||
| Строка 12: | Строка 14: | ||
Радиальное изображение дерева часто используют для представления свободных деревьев, причем в качестве вершины, размещаемой в центре, берется одна из его центральных вершин.  | Радиальное изображение дерева часто используют для представления свободных деревьев, причем в качестве вершины, размещаемой в центре, берется одна из его центральных вершин.  | ||
=== hv-изображения ===  | === hv-изображения ===  | ||
| + | [[Файл:Hv_tree.jpg|250px|right|thumb|Пример укладки двоичного дереве в виде hv-изображения]]  | ||
При hv-изображении дерева для каждой вершины <tex>p</tex> выполняются следующие свойства:  | При hv-изображении дерева для каждой вершины <tex>p</tex> выполняются следующие свойства:  | ||
* сын вершины <tex>p</tex> ставится в ряд за <tex>p</tex> либо по горизонтали справа, либо по вертикали вниз;  | * сын вершины <tex>p</tex> ставится в ряд за <tex>p</tex> либо по горизонтали справа, либо по вертикали вниз;  | ||
Версия 04:43, 17 декабря 2011
Дерево — планарный граф. Согласно следствию из формулы Эйлера: для дерева с вершинами .
Содержание
Укладка дерева
Существуют несколько способов укладки дерева на плоскости.
Поуровневая укладка
Простой способ построения нисходящего плоского изображения дерева заключается в использовании его поуровневого расположения, при котором вершины глубины имеют координату , а координаты по горизонтальной оси распределяются так, чтобы никакие левые поддеревья не пересекались с правыми. Возможна реализация за линейное время, позволяющая получить оптимальное по ширине плоское дерево в области размера (где — число вершин дерева).
Радиальная поуровневая укладка
Радиальная поуровневая укладка дерева отличается тем, что его уровни имеют вид концентрических окружностей, поддеревья занимают секторные сегменты.
Выбор угла секторного сегмента для поддерева с корнем и количеством вершин определяется следующим образом: пусть вершина лежит на уровне , тогда для каждого ее сына имеем: , где — это угол области , определяемой пересечением касательной к точке уровня и окружностью уровня .
Радиальное изображение дерева часто используют для представления свободных деревьев, причем в качестве вершины, размещаемой в центре, берется одна из его центральных вершин.
hv-изображения
При hv-изображении дерева для каждой вершины выполняются следующие свойства:
- сын вершины ставится в ряд за либо по горизонтали справа, либо по вертикали вниз;
 - не пересекаются минимальные прямоугольники с горизонтальными и вертикальными вершинами, покрывающие поддеревья вершины .