Lecture3_hv_2013

advertisement
Cтатические изображения
деревьев, некоторые оценки
Апанович З.В.
apanovich@iis.nsk.su
Тел:3309344
К. 217
Эстетические критерии при поуровневом
изображении деревьев
• Поуровневость: y-координата каждой вершины
равна глубине (уровню) вершины;
• Упорядоченность: левый сын каждой вершины
располагается слева от правого сына;
• Центрированность: каждый родитель центрирован
относительно своих сыновей.
• Изоморфизм: каждая пара изоморфных поддеревьв
рисуется идентично с точностью до переноса. То
есть изображение каждого поддерева не зависит от
расположения этого поддерева внутри всего дерева.
• Симметричность: Если инвертировать все порядки
сыновей в дереве, то полученное изображение будет
отражением исходного изображения.
Восходящие изображения
деревьев.
Для бинарных деревьев, следующими по
читаемости после поуровневых изображений,
считаются восходящие (нисходящие)
изображения деревьев.
Определение (Восходящее изображение) это такое плоское прямолинейное,
сетчатое изображение, в котором для
любого ребра (v, u) вершина v расположена
выше, чем вершина u (отец расположен выше
сына).
HV-изображение бинарного
дерева
Определение (hv-изображение)
бинарного дерева T- это плоское,
прямолинейное, сетчатое
изображение, такое, что
• для каждой вершины u, сын вершины
u находится:
• либо на одной горизонтали и
справа от u,
• либо на одной вертикали и под u.
• ортогональное и (не строго)
восходящее изображение.
• охватывающие прямоугольники
поддеревьев вершины u не
пересекаются(subtree separation).
• NB: Нет требования упорядоченности
hv-изображения и восходящие
изображения деревьев
Утверждение Дано t – hv-изображение бинарного дерева T.
Существует строго восходящее изображение t бинарного
дерева T, чья площадь не более чем в 2 раза превышает
площадь изображения t.
Доказательство.
Строго восходящее изображение t' можно получить из hvизображения t при помощи следующей трансформации:
1. для каждой вершины, имеющей координаты (x, y) в hvизображении t, нарисовать вершину с координатами (x, x+y) в
восходящем изображении t'.
2. Если в hv-изображении t реберный сегмент соединял вершины
с координатами (x, y) и (x,y), то нарисовать сегмент,
соединяющий вершины (x, x+y) и (x, x+y).
Трансформация hv-изображения в
восходящее изображение дерева
•
•
•
•
•
•
•
•
(x, y)-> (x, x+y):
(0,0)->(0,0)
(1,0)->(1,1)
(2,0)->(2,2)
(1,1)->(1,2)
(0,2)->(0,2)
(1,2)->(1,3)
(0,3)->(0,3)
Трансформация hv-изображения в
восходящее изображение дерева
• Для полного доказательства
утверждения надо показать, что
в результате трансформации
• (x, y) -> (x, x+y) :
– изображение t’ будет
восходящим и будет
изображать то же самое
дерево (упражнение);.
– будет плоским (не возникнет
пересечений ребер);
– его площадь не более чем в 2
раза превышает площадь t.
Трансформация hv-изображения в
восходящее изображение дерева
1) В результате
трансформации
• (x, y)-> (x, x+y)
горизонтальный
отрезок перейдет
в диагональный,
а вертикальный в вертикальный
Трансформация hv-изображения в
восходящее изображение дерева
Если два вертикальных или два
диагональных отрезка,
пересекаются, то пересекаются и
их прообразы.
Предположим поэтому, что s1- это
диагональный сегмент,
1
1
1
соединяющий вершины ( x1 , x1  y1 )
и ( x12 , x12  y12 ) , а s2 – это вертикальный
сегмент, соединяющий вершины
( x12 , x12  y12 )
( x22 , x22  y22 )
1. s1 соответствует горизонтальному сегменту в t, =>
y11  y12
1
1
1
2. точка пересечения сегментов s1 и s2 имеет координаты ( x 2 , x 2  y1 )
3.
x11  x12  x12
y12  y11  y 22
4. Значит, t содержит два пересекающихся ребра
Трансформация hv-изображения в
восходящее изображение дерева
• (x, y)-> (x, x+y)
• 1) При таком отображении
ширина изображения не
меняется: w(t)= w(t).
• 2) Поскольку рассматриваются
неупорядоченные деревья,
можно считать без потери
общности, что w(t) ≤ h(t).
• Тогда:
• h(t) ≤ h(t) + w(t) ≤ 2 h(t)
Построение hv-изображения
• Построить рекурсивно
hv-изображения для
левого и правого
поддеревьев
• Выполнить либо
– Горизонтальную
комбинацию либо
– Вертикальную
комбинацию
• И высота и ширина не
превышают n
Горизонтальная комбинация:
(x,y)
(x’+1,y)
(x,y+1)
(x’,y+1)
Вертикальная комбинация:
(x,y)
(x+1, y)
(x+1,y’)
(x,y’+1)
Алгоритм построения hv-изображения
•
•
•
•
Вход. Корневое бинарное дерево Т
Выход hv-изображение дерева Т.
если |Т| =1, то Тривиальное_изображение(Т);
иначе{ /* Применять рекурсивно алгоритм для
построения изображения левого и правого
поддеревьев дерева Т : */
T = ЛевоеПоддерево (Т);
•
T = ПравоеПоддерево(Т);
•
hv-изображение(T);
•
hv-изображение(T);
}
• Скомбинировать изображение T’’с изображением T’
при помощи либо горизонтальной либо вертикальной
комбинации.
• }
Алгоритм построения утяжеленного
вправо hv-изображения
• Вход. Корневое бинарное дерево Т
• Выход Утяжеленное вправо hv-изображение дерева
Т.
• если |Т| =1, то Тривиальное_изображение(Т);
• иначе /* Применять рекурсивно алгоритм для
построения изображения левого и правого
поддеревьев дерева Т : */
• Утяжеленное вправо hv-изображение(T’);
• Утяжеленное вправо hv-изображение(T’’);
• если |T’| ≤ |T’’| то T’ = ЛевоеПоддерево (Т); T’’ =
ПравоеПоддерево(Т);
• иначе T’’ = ЛевоеПоддерево (Т); T’ =
ПравоеПоддерево(Т);
• Скомбинировать изображение T’’с изображением T’
при помощи горизонтальной комбинации.
Алгоритм построения hv-изображения
Что можно сказать про площадь этого изображения???
Заблокированность вершины
• Будем называть вершину v степени <3
загороженной снизу, если вертикальная
линия, проходящая через v, пересекает
часть изображения, расположенную под
v.
Свойства утяжеленного вправо hvизображения
• Утверждение. Алгоритм построения утяжеленного вправо
hv-изображения строит изображение бинарного дерева Т,
имеющего n вершин. Изображение обладает следующими
свойствами:
• Это восходящее, плоское, сетчатое, прямолинейное и
ортогональное изображение, то есть, hv –изображение;
• Изображение занимает площадь O(nlogn);
• Его ширина не превышает n;
• Его высота не превышает log n;
• Корень размещается в верхнем левом углу и.
• Оно не является упорядоченным!
• Оно обладает свойством незагороженности снизу
hv-изображение полного бинарного
дерева
Построение hv-изображение полного
бинарного дерева
•
•
•
•
•
Вход. Ci – полное бинарное дерево высоты i
Выход hv-изображение дерева Т.
начало
если i = 0 то (ci) =;
если i - нечетно то (ci) = Вертикальная
комбинация ((ci-1), (ci-1));
• если i- четно то (ci) = Горизонтальная
комбинация ((ci-1), (ci-1));
• конец
hv-изображение полного бинарного
дерева
Li – более
длиная сторона
изображения
дерева Ci,
li – его более
короткая
сторона.
l1 = L1 = 1 (одна вершина);
l2 = L2 = 2;
l3 = 3; L3 = 4;
Таким образом:
li+1 = Li + 1,
Li+1 =2li .
hv-изображение полного бинарного
дерева
Решением этих рекуррентных
соотношений являются соотношения:
2(i+1)/2 -1 если i нечетно,
(1)
li = 
 3*2(i-2)/2 -1 если i четно,
(2)
3*2 (i-1)/2 -2 если i нечетно,
(3)
Li = 
2 (i+2)/2 -2 если i четно.
(4)
hv-изображение полного бинарного
дерева
Доказывается индукцией по значению i.
Для i = 1 утверждение очевидно.
Предположим, что утверждение верно для
всех j < i.
li = Li-1 + 1, Если i – нечетно, то i-1 – четно и
по индуктивному предположению, для Li-1
верна формула (4):
li = Li-1 + 1 = 2(i-1+2)/2 -2 +1 = 2(i+1)/2 -1.
А это соответствует формуле (1) для li при
нечетных i.
hv-изображение полного бинарного
дерева
• Точно также, для вычисления Li используем
формулу (2 ):
• Li = 2li-1 = 2 (3*2 (i-1-2)/2 -1) = 3*2(i-1)/2 -2,
Что соответствует формуле (3) для Li при нечетных i.
• Аналогичным образом рассматривается и случай,
когда i – четно.
• Таким образом, независимо от того, четно i или
нечетно, площадь изображения, равная Lili ≤ 3* 2i. Но
это изображение полного бинарного дерева высоты i
, которое имеет 2i-1 вершин.
• То есть и количество вершин и площадь имеют
порядок O(2i)
Дерево Фиббоначи
• F0 = ;
• F1 = ;
• Fi+2=
АВЛ-деревья
• Бинарное дерево называется
балансированным по высоте или АВЛдеревом (Г. М. Адельсона-Вельского и
Е. М. Ландиса),
• Если для любой его вершины высота
правого поддерева отличается от
высоты левого не более чем на
единицу.
Рекурсивное сворачивание и алгоритмы
построения изображения на основе
выбора пути
• T. Chan, M. Goodrich, S. Rao Kosaraju, & R.
Tamassia. (1997), Optimizing area and aspect ratio in
straight-line orthogonal tree drawings,LNCS 1190
• T. Chan, M. Goodrich, S. Rao Kosaraju, & R.
Tamassia. (2002), Optimizing area and aspect ratio in
straight-line orthogonal tree drawings, in Computational
Geometry: Theory and Applications, 23:153--162
Рекурсивное сворачивание(1997)
Дано бинарное дерево Т, имеющее n вершин и
задан параметр А: 2 ≤ А ≤ n.
Утверждение Существует плоское восходящее
прямолинейное ортогональное сетчатое
изображение дерева Т, имеющее высоту
O((n/A)logA) и ширину O(Alogn/logA).
Площадь O(nlogn)
Изображение обладает свойством разделения
поддеревьев и может быть построено за время
O(n).
Рекурсивное сворачивание(1997)
• Выбирается
последовательность
вершин: v1 - кореньТ,
vi+1= right(vi).
• N[vi] – количество
листьев в Т[vi]
• Выбирается k: N[vk] >
n-A,
• N[vk+1] ≤ n-A
v1
v2
T1
T2
Vk-2
Vk-1
Tk-2
vk
Tk-1
T’
T’’
Рекурсивное сворачивание(1997)
•
•
•
•
•
Если k=1, то T’ и T’’ строятся
рекурсивно.
Если k=2, то T1 –утяжеленное
вправо HV-дерево, а T’ и T’’
строятся рекурсивно;
Если k3, то
T1,…Tk-2 изображаются слева
как утяжеленное вправо HVдерево. Tk-1 утяжеленное вправо
HV-дерево, отраженное
относительно оси y и
повернутое на угол π/2.
T’ and T’’ строятся рекурсивно,
а затем отражаются
относительно оси y, так что их
корни оказываются в верхнем
правом углу (Это и есть
«рекурсивное сворачивание»)
k=1
v1
k=2
v1
T’
T1
T’
T’’
T’’
T1
…
Tk-2
Tk-1
T’
k>2
T’’
Рекурсивное сворачивание(2002)
k ≤ A/B +2
B = [A/logA],
k > A/B +2
j: nj ≤ B
«Идеальные» изображения деревьев
Чана
•
•
•
•
•
•
•
•
T. M. Chan A Near-Linear Area Bound for Drawing Binary
trees, 2001
«Идеальные» изображения деревьев должны обладать
следующими свойствами:
Плоские изображения;
Строго восходящие. Для того, чтобы видеть, кто
является отцом, а кто – сыном в бинарном отношении,
кривая от отца к сыну должна быть строго убывающей по
y-координате;
Строго сохраняющие порядок. Для того, чтобы видеть,
кто является правым, а кто левым сыном, кривая от отца
к левому сыну должна монотонно убывать по xкоординате, а кривая от отца к правому сыну -монотонно
возрастать по x- координате;
Прямолинейные;
Сетчатые;
Изображение должно занимать как можно меньше места.
«Идеальные» изображения деревьев
Чана
• В общем случае, невозможно
породить строго восходящее
изображение высоты, меньше
чем О(n). Это очевидно для
случая, когда дерево является
просто путем, у которого
высота будет в точности n.
Поэтому при создании
алгоритма построения такого
изображения усилия
концентрируются на
минимизации ширины при
поддержании высоты
изображения в пределах O(n).
«Идеальные» изображения деревьев
Чана
Дано бинарное дерево с корнем в вершине v, и для его
поддеревьев уже построены идеальные
изображения. Введем левое и правое правила
комбинирования этих изображений
Левое
правило:
Правое
правило:
«Идеальные» изображения деревьев
Чана
Левое правило:
Правое правило:
• По Левому правилу, xкоордината вершины v равна
x- координате корня правого
поддерева R, а
ограничивающий
прямоугольник левого
поддерева L помещается на
единицу ниже и на единицу
левее вершины v.
• Правое правило
определяется симметрично.
«Идеальные» изображения деревьев
Чана
• Остается выяснить вопрос, какое из правил применять на
каждом шаге.
• Жадный вариант построения изображения основан на
сравнении размеров поддеревьев.
• Если |Т| < 1 то изображение тривиально. В противном случае
нарисовать правое и левое поддеревья рекурсивно.
• Скомбинировать изображения при помощи левого правила,
если |L| < |R|
• Скомбинировать их при помощи правого правила, если |R| < |L|.
• То есть внизу будет помещено поддерево наибольшего
размера, а в сторону отойдет дерево наименьшего размера, что
позволяет надеяться на то, что ширина результирующего
дерева будет минимизироваться.
«Идеальные» изображения деревьев
•
•
•
•
•
•
•
•
•
•
•
•
Жадный Алгоритм
Вход: Бинарное дерево Т
Результат: прямолинейное, плоское, сетчатое, строго восходящее и
строго упорядоченное изображение дерева Т
если |Т| ≤ 1, то его изображение определяется тривиально;
иначе /* Применять рекурсивно алгоритм для построения
изображения левого и правого поддеревьев дерева Т : */
T’ = ЛевоеПоддерево (Т);
T’’ = ПравоеПоддерево(Т);
ЖадноеИзображение(T’);
ЖадноеИзображение(T’’);
Если |T’| ≤ |T’’|  0 то
Скомбинировать изображение T’’с изображение T’ по Левому
Правилу;
иначе Скомбинировать изображение T’’с изображением T’ по Правому
Правилу;
Анализ жадного алгоритма
• Если |T|=n, то height(T) ≤ n-1
• Что можно сказать по поводу ширины
изображения?
• Для ответа на этот вопрос попробуем
взглянуть на изображение с точки
зрения выбора пути:
Анализ жадного алгоритма
Пусть  = <v0, v1,…,vk> - это любой
путь, идущий от корня к одному из
листьев vk дерева T.
Будем называть поддеревом пути 
поддерево, имеющее корнем одну из
вершин из множества {v0, v1,…,vk}.
Будем называть, боковым
поддеревом пути  поддерево,
имеющее корнем брата одной из
вершин из множества {v0, v1,…,vk}.
Оно будет либо левым либо правым,
в зависимости от того, правым или
левым сыном является его корень.
Рассмотрим такой «Базовый» алгоритм
выбора пути:
• Выбрать путь  от корня
до некоторого листа
• Нарисовать поддеревья
пути рекурсивно
• Комбинировать
изображения
применением левого и
правого правил, так что
вершины пути 
выровнены вертикально.
«Базовый» алгоритм выбора пути
•
•
•
Вход: Упорядоченное бинарное дерево Т с корнем v0
Результат: прямолинейное, плоское, сетчатое, строго восходящее и
строго упорядоченное изображение дерева Т.
Базовый Алгоритм построения идеального Изображения (Т) = {
– если |Т| ≤ 1, то изображение тривиально;
– иначе выбрать путь  = <v0, v1,…,vk> , идущий от корня v0 к одному из
листьев vk
– для i от 0 до k цикл{
•
•
•
•
•
•
Пусть Ti - поддерево с корнем vi, ui – брат узла vi,
T’i - поддерево с корнем ui ,
если |T’i |  0 Базовый Алгоритм Изображения (Т’i)
}
Скомбинировать изображения T’i с изображениями Ti по Левому
Правилу или по Правому Правилу так, чтобы все вершины пути 
были вертикально выровнены;
}
«Базовый» алгоритм выбора пути
• Ширина изображения
всего дерева W(Т) равна
W() + W() + 2 для
некоторого (самого
большого) левого бокового
поддерева  и некоторого
(самого большого) правого
бокового поддерева .
«Жадный» алгоритм выбора пути как
вариант базового алгоритма
•
Жадный алгоритм идентичен Базовому
алгоритму в случае, если путь  = <v0, v1,…>
выбирается в следующей «жадной» манере:
•
•
1. T0 = T, то есть v0 – это корень всего дерева.
2. Пусть последовательность <v0, v1,…vi > нам
уже известна, при этом vi – это корень, Li левое поддерево и Ri - правое поддерево
дерева Ti . Требуется выбрать поддерево Ti+1
этого пути, им может стать либо Li либо Ri
Выбираем по правилу:
Если |Ri| ≤ |Li| то T i+1 = Li иначе T i+1 = Ri.
•
•
«Жадный» алгоритм выбора пути
Утверждение Жадный алгоритм строит строго
восходящее строго сохраняющее порядок
изображение дерева, со следующими размерами:
Ширина изображения W(n) = O(n0.695)
Высота изображения H(n) = O(n)
Площадь A(n) = O(n 1.695)
«Жадный» алгоритм выбора пути
• Лемма. Для любых двух различных
боковых поддеревьев левого  и
правого  жадного пути верно одно из
двух утверждений:
• Либо
• 1. ||  n/2 и ||  (n-//)/2
• либо
• 2. ||  n/2 и ||  (n-//)/2
«Жадный» алгоритм выбора пути
• Доказательство.
• Пусть братом корневой
вершины поддерева 
будет вершина vj, а братом
корневой вершины
поддерева  будет
вершина vi. Без потери
общности, можно считать,
что j < i
«Жадный» алгоритм выбора пути
•
•
•
•
По определению алгоритма,
|| ≤ |Tj| и || ≤ |Ti|.
|| + |Tj| ≤ n и || + |Ti| + || ≤ n.
Подставим соотношение || вместо |Tj|
в неравенство || + |Tj| ≤ n и получим
2|| ≤ n. Значит, ||≤ n/2.
• Аналогично, подставим соотношение
|| вместо |Ti| в неравенство || + |Ti| +
|| ≤ n,
• откуда получим, что || + 2 || ≤ n, и,
значит, || ≤ (n -||)/2.
«Жадный» алгоритм выбора пути
• А теперь вспомним про соотношение
W(Т) = W() + W() + 2. Из этого
соотношения и доказанных только что
неравенств легко получается
следующее рекуррентное соотношение
для максимальной ширины W(n)
деревьев размера n :
• W(n) ≤ max(W(n1) + W(n2) +2).
•
n1  n/2, n2 ≤ (n-n1)/2
«Жадный» алгоритм выбора пути
• Рассматривая «критический» случай n1 = n/2
и n2 = n/4 получаем известное рекуррентное
соотношение W(n)  W(n/2) +W(n/4) +O(1),
решением которого является
• W(n) = O(nlog) с углом золотого соотношения
•  = (1+5)/2 1,612,
• log() = 0.695
«Жадный» алгоритм выбора пути
W(n) = O(nlog) ,
 = (1+5)/2 1,612, log() = 0.695
Значит, Ширина изображения W(n) = O(n0.695)
Высота изображения H(n) = O(n)
A = O(n 1.695)
Метод Чана
№2(cполовинивающий)
• Определим путь  = <v0, v1,…> следующим образом:
• 1. T0 = T, то есть v0 – это корень всего дерева;
• 2. Пусть i это наибольшее боковое левое поддерево
подпути <v0, v1,…vi >;
• Пусть i - это наибольшее боковое правое поддерево
подпути <v0, v1,…vi >;
• Выбираем поддерево Ti+1 по правилу:
• Если |i| + |Ri| ≤ |i| + |Li|, то Ti+1 = Li иначе
• Ti+1 = Ri. (то есть, вниз идет поддерево, участвующее
в наибольшей сумме)
Логика выбора
«споловинивающего» пути
• |i| + |Ri| и |i| + |Li| являются
оценками ширины
изображения, предлагается
поместить вниз дерево,
дающее худшую оценку.
Шаг 1. Выбрать либо B либо С
/альфа/=0
/бета/=0
Выбираем в качестве Ti поддерево с корнем С
Альфа=1 (поддерево с корнем в В), /бета/=0
Шаг 2. Выбрать либо D либо E
3+1 << 30
Выбираем в качестве Ti поддерево с корнем D
Альфа=1 (поддерево с корнем в В)
Бета =3(поддерево с корнем в Е)
Шаг 3. Выбрать либо F либо G
7+3 <<22+1
Выбираем качестве Ti поддерево с корнем G
Альфа=6 поддерево с корнем в F)
Бета =3(поддерево с корнем в Е)
Шаг 4. Выбрать либо L либо M
11+3 <<9+6
Выбираем M
Альфа=11
Бета =3
Метод Чана
№2(cполовинивающий)
• Эта стратегия выбора пути дает
оценку ширины изображения
O(n) и площади изображения
O(nn) = O(n3/2)
Метод Чана №3(Улучшенный)
Расширенное левое правило: разрешается
смещать охватывающий прямоугольник правого
поддерева горизонтально на произвольную
величину вправо
Расширенное правое правило: разрешается
смещать охватывающий прямоугольник левого
поддерева горизонтально на произвольную
величину влево
Метод Чана №3(Улучшенный)
k - это
наибольший
индекс, такой, что
|Tk|  n - A, |Tk+1| 
n - A, для
поддерева с
корнем vk.
Предположим, что
vk- это левый сын.
Метод Чана №3(Улучшенный)
• Улучшенный Алгоритм Изображения (Т)
• Вход: Упорядоченное бинарное дерево Т с
корнем v0, параметр А.
• Результат: прямолинейное, плоское,
сетчатое, строго восходящее и строго
упорядоченное изображение дерева Т.
• если |Т| ≤ 1, то изображение тривиально;
• определить жадный путь  = ( v0, v1,..vl) от
корня до некоторого листа
• Пусть k- это наибольший индекс, такой, что
• |Tk|  n - A, для поддерева с корнем vk.
Метод Чана №3(Улучшенный)
•
•
•
•
•
•
•
•
•
•
если vk - это левый сын то
Пусть ’ - это подпуть <v0, v1,…,vk>
’’ - это самый левый путь, идущий от вершины vk к листу vl
Построить рекурсивно все поддеревья путей ’ и ’’
Жадное_изображение (’) : Скомбинировать изображения всех
поддеревьев пути ’, применяя левое или правое правила в
вершинах v0, v1,…, vk-2 так, что вершины v0, v1,…,vk-1 выровнены
вертикально.
Изображение (’’): Скомбинировать изображения всех
поддеревьев пути ’’ применяя только Правое Правило так, чтобы
все вершины пути ’’ были выровнены вертикально;
Применить Расширенное правое правило в вершине vk-1 так,
чтобы выровнять вертикально vk с левой стороной граничного
прямоугольника всего изображения дерева Т.
иначе /* vk - это правый сын */ то
симметричный случай, выбирается самый правый путь идущий от
вершины vk к листу .
конец
Метод Чана №3(Улучшенный)
Если установить А = n/21/, то получим
изображение ширины O(2 1/ n).
Если установить А = n/22logn, то получим
изображение ширины O(22logn)logn).
Утверждение Любое бинарное дерево размера
n допускает идеальное изображение
высоты не более n-1 и ширины
O(22logn)logn).
Метод Чана №4
Утверждение Любое упорядоченное
дерево (произвольной степени)
размера n допускает идеальное
изображение высоты не более n-1 и
ширины O(42logn)).
Литература
• Crescenzi,P. G. Di Battista, A. Piperno A note on
optimal area algorithm for upward drawings of binary
trees. Computational Geometry: Theory and Applications
2 (1992) 187-200.
• T. Chan, M. Goodrich, S. Rao Kosaraju, & R.
Tamassia. (1997), Optimizing area and aspect ratio in
straight-line orthogonal tree drawings,LNCS 1190
• T. Chan, M. Goodrich, S. Rao Kosaraju, & R.
Tamassia. (2002), Optimizing area and aspect ratio in
straight-line orthogonal tree drawings, in Computational
Geometry: Theory and Applications, 23:153--162
• T. M. Chan A Near-Linear Area Bound for Drawing
Binary trees, 2001
Download