Napisać funkcję, która mając daną posortowaną tablicę liczb całkowitych zbuduje maksymalnie zrównoważone drzewo, którego kluczami są liczby z tej tablicy.
Węzły drzewa mają całkowitoliczbowe pola klucza i pole z wartością. Napisać funkcję, która mając dane drzewo utworzy listę par klucz, wartość. Zakładamy że drzewo jest uporządkowane względem wartości klucza, chcemy żeby klucze na liście wynikowej były uporządkowane. Podobnie, napisać funkcję, która mając mając daną listę utworzy drzewo którego węzły mają te same klucze i wartości. Nic nie zakładamy o porządku elementów listy, wynikowe drzewo ma być uporządkowane względem wartości klucza (łącznie te dwie funkcje mogą posortować listę).
Węzły drzewa dwuwymiarowego reprezentują kwadraty. Dany węzeł może być węzłem końcowym (liściem), albo dany kwadrat jest podzielony na cztery równe części i wtedy ten węzeł ma do czterech potomków. Początkowy kwadrat to kwadrat jednostkowy -- o wierzchołkach (0,0), (1,0), (0,1), (1,1). Mamy daną listę punktów. Chcemy żeby w kwadratch odpowiadających węzłom końcowym znajdował się co najwyżej jeden z zadanych punktów. Napisać funkcję (a właściwie trzy oddzielne funkcje) która:
Zapoznać się z przykładem o drzewach AVL.