summaryrefslogtreecommitdiff
path: root/files/practicum/BinTree.icl
blob: 1875e86254325e59ef485f11f17e20154bd635dd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
implementation module BinTree

import StdEnv

::  Tree a = Node a (Tree a) (Tree a) | Leaf

t0 :: Tree Int
t0 = Leaf
t1 :: Tree Int
t1 = Node 4 t0 t0
t2 :: Tree Int
t2 = Node 2 t0 t1
t3 :: Tree Int
t3 = Node 5 t2 t0
t4 :: Tree Int
t4 = Node 5 t2 t2
t5 :: Tree Int
t5 = Node 1 Leaf (Node 2 Leaf (Node 3 Leaf (Node 4 Leaf Leaf)))
t6 :: Tree Int
t6 = Node 1 (Node 2 (Node 3 (Node 4 Leaf Leaf) Leaf) Leaf) Leaf
t7 :: Tree Int
t7 = Node 4 (Node 1 Leaf Leaf) (Node 5 (Node 2 Leaf Leaf) Leaf)

//  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]