diff options
Diffstat (limited to 'fp2/week6/mart/BinTree.icl')
-rwxr-xr-x | fp2/week6/mart/BinTree.icl | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/fp2/week6/mart/BinTree.icl b/fp2/week6/mart/BinTree.icl new file mode 100755 index 0000000..7b14e1e --- /dev/null +++ b/fp2/week6/mart/BinTree.icl @@ -0,0 +1,38 @@ +implementation module BinTree
+
+import StdEnv
+
+:: BTree a = BNode a (BTree a) (BTree a) | BLeaf
+
+t0 :: BTree Int
+t0 = BLeaf
+t1 :: BTree Int
+t1 = BNode 4 t0 t0
+t2 :: BTree Int
+t2 = BNode 2 t0 t1
+t3 :: BTree Int
+t3 = BNode 5 t2 t0
+t4 :: BTree Int
+t4 = BNode 5 t2 t2
+t5 :: BTree Int
+t5 = BNode 1 BLeaf (BNode 2 BLeaf (BNode 3 BLeaf (BNode 4 BLeaf BLeaf)))
+t6 :: BTree Int
+t6 = BNode 1 (BNode 2 (BNode 3 (BNode 4 BLeaf BLeaf) BLeaf) BLeaf) BLeaf
+t7 :: BTree Int
+t7 = BNode 4 (BNode 1 BLeaf BLeaf) (BNode 5 (BNode 2 BLeaf BLeaf) BLeaf)
+
+// 2.
+//nodes :: // meest algemene type
+//nodes ...
+
+//Start = map nodes [t0,t1,t2,t3,t4,t5,t6,t7]
+
+//leaves :: // meest algemene type
+//leaves ...
+
+//Start = map leaves [t0,t1,t2,t3,t4,t5,t6,t7]
+
+//diepte :: // meest algemene type
+//diepte ...
+
+//Start = map diepte [t0,t1,t2,t3,t4,t5,t6,t7]
|