diff options
author | Camil Staps | 2016-02-02 19:24:50 +0100 |
---|---|---|
committer | Camil Staps | 2016-02-02 19:24:50 +0100 |
commit | a7d7542dc646a5fd124ef71e71ce260889f1701b (patch) | |
tree | 04ed89503bbb3cc9933273a1326a53ca724c3492 /fp1/week7/mart | |
parent | week6 camil: working positioning of lines by putting empties at left and righ... (diff) |
Diffstat (limited to 'fp1/week7/mart')
-rw-r--r-- | fp1/week7/mart/BewijsMeppenEnTippen.icl | 29 | ||||
-rw-r--r-- | fp1/week7/mart/BinSearchTree.dcl | 7 | ||||
-rw-r--r-- | fp1/week7/mart/BinSearchTree.icl | 141 |
3 files changed, 0 insertions, 177 deletions
diff --git a/fp1/week7/mart/BewijsMeppenEnTippen.icl b/fp1/week7/mart/BewijsMeppenEnTippen.icl deleted file mode 100644 index 720ff4d..0000000 --- a/fp1/week7/mart/BewijsMeppenEnTippen.icl +++ /dev/null @@ -1,29 +0,0 @@ -Zij gegeven:
-
-:: BTree a = Tip a | Bin (BTree a) (BTree a)
-
-map :: (a -> b) [a] -> [b]
-map f [] = [] (1.)
-map f [x:xs] = [f x : map f xs] (2.)
-
-mapbtree :: (a -> b) (BTree a) -> BTree b
-mapbtree f (Tip a) = Tip (f a) (3.)
-mapbtree f (Bin t1 t2) = Bin (mapbtree f t1) (mapbtree f t2) (4.)
-
-foldbtree :: (a a -> a) (BTree a) -> a
-foldbtree f (Tip x) = x (5.)
-foldbtree f (Bin t1 t2) = f (foldbtree f t1) (foldbtree f t2) (6.)
-
-tips :: (BTree a) -> [a]
-tips t = foldbtree (++) (mapbtree unit t) (7.)
-
-unit :: a -> [a]
-unit x = [x] (8.)
-
-
-Te bewijzen:
- voor alle functies f, voor alle eindige bomen t:
-
- map f (tips t) = tips (mapbtree f t)
-
-Bewijs:
diff --git a/fp1/week7/mart/BinSearchTree.dcl b/fp1/week7/mart/BinSearchTree.dcl deleted file mode 100644 index 2e480bb..0000000 --- a/fp1/week7/mart/BinSearchTree.dcl +++ /dev/null @@ -1,7 +0,0 @@ -definition module BinSearchTree
-
-import StdClass
-import BinTree
-
-is_geordend :: // meest algemene type
-is_gebalanceerd :: // meest algemene type
diff --git a/fp1/week7/mart/BinSearchTree.icl b/fp1/week7/mart/BinSearchTree.icl deleted file mode 100644 index 8f9f05c..0000000 --- a/fp1/week7/mart/BinSearchTree.icl +++ /dev/null @@ -1,141 +0,0 @@ -implementation module BinSearchTree
-
-import StdEnv
-import BinTree
-
-
-z0
- Leaf
-z1
- 50
- |
- ----------
- | |
- Leaf Leaf
-z2
- 50
- |
- ----------
- | |
- 10 Leaf
- |
- ------
- | |
- Leaf Leaf
-z3
- 50
- |
- ----------
- | |
- 10 75
- | |
- ------ ------
- | | | |
- Leaf Leaf Leaf Leaf
-z4
- 50
- |
- ----------
- | |
- 10 75
- | |
- ------ ------
- | | | |
- Leaf Leaf Leaf 80
- |
- ------
- | |
- Leaf Leaf
-z5
- 50
- |
- ----------
- | |
- 10 75
- | |
- ------ ------
- | | | |
- Leaf Leaf Leaf 77
- |
- ------
- | |
- Leaf 80
- |
- ------
- | |
- Leaf Leaf
-z6
- 50
- |
- ----------
- | |
- 10 75
- | |
- ------ ------
- | | | |
- 10 Leaf Leaf 77
- | |
- ------ ------
- | | | |
-Leaf Leaf Leaf 80
- |
- ------
- | |
- Leaf Leaf
-z7
- 50
- |
- ----------
- | |
- 10 75
- | |
- ------ -----------
- | | | |
- 10 Leaf 75 77
- | | |
- ------ ------ ------
- | | | | | |
-Leaf Leaf Leaf Leaf Leaf 80
- |
- ------
- | |
- Leaf Leaf
-z8
-
-// Uit het diktaat, blz. 73:
-insertTree :: a (Tree a) -> Tree a | Ord a
-insertTree e Leaf = Node e Leaf Leaf
-insertTree e (Node x le ri)
-| e <= x = Node x (insertTree e le) ri
-| e > x = Node x le (insertTree e ri)
-
-deleteTree :: a (Tree a) -> (Tree a) | Eq, Ord a
-deleteTree e Leaf = Leaf
-deleteTree e (Node x le ri)
-| e < x = Node x (deleteTree e le) ri
-| e == x = join le ri
-| e > x = Node x le (deleteTree e ri)
-where
- join :: (Tree a) (Tree a) -> (Tree a)
- join Leaf b2 = b2
- join b1 b2 = Node x b1` b2
- where
- (x,b1`) = largest b1
-
- largest :: (Tree a) -> (a,(Tree a))
- largest (Node x b1 Leaf) = (x,b1)
- largest (Node x b1 b2) = (y,Node x b1 b2`)
- where
- (y,b2`) = largest b2
-
-
-is_geordend :: // meest algemene type
-is_geordend ...
-
-Start = map is_geordend [t0,t1,t2,t3,t4,t5,t6,t7]
-
-
-is_gebalanceerd :: // meest algemene type
-is_gebalanceerd ...
-
-//Start = map is_gebalanceerd [t0,t1,t2,t3,t4,t5,t6,t7]
|