Изменения

Перейти к: навигация, поиск

Укладка дерева

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

Навигация