1 implementation module BinSearchTree
98 Leaf Leaf Leaf Leaf Leaf 80
105 // Uit het diktaat, blz. 73:
106 insertTree :: a (Tree a) -> Tree a | Ord a
107 insertTree e Leaf = Node e Leaf Leaf
108 insertTree e (Node x le ri)
109 | e <= x = Node x (insertTree e le) ri
110 | e > x = Node x le (insertTree e ri)
112 deleteTree :: a (Tree a) -> (Tree a) | Eq, Ord a
113 deleteTree e Leaf = Leaf
114 deleteTree e (Node x le ri)
115 | e < x = Node x (deleteTree e le) ri
116 | e == x = join le ri
117 | e > x = Node x le (deleteTree e ri)
119 join :: (Tree a) (Tree a) -> (Tree a)
121 join b1 b2 = Node x b1` b2
125 largest :: (Tree a) -> (a,(Tree a))
126 largest (Node x b1 Leaf) = (x,b1)
127 largest (Node x b1 b2) = (y,Node x b1 b2`)
132 is_geordend :: // meest algemene type
135 Start = map is_geordend [t0,t1,t2,t3,t4,t5,t6,t7]
138 is_gebalanceerd :: // meest algemene type
141 //Start = map is_gebalanceerd [t0,t1,t2,t3,t4,t5,t6,t7]