Решенеия на задачите от упражненията

Решения на задачите от 12.01.07

Re: Решения на задачите от 12.01.07

от Радослава Димитрова -
Number of replies: 0

data BTree a = Empty | Node a (BTree a) (BTree a)
                      deriving (Show)
n=Node 50 (Node 30 (Node 10 Empty (Node 20 Empty Empty)) (Node 40 Empty Empty)) Empty

-- min element na durvo  
minTree (Node v Empty _ )=v
minTree (Node _ l _ )=minTree l
 
--dobavq element
insertBot Empty x=Node x Empty Empty
insertBot (Node v l r) x
                        |v<=x= Node v l(insertBot r x)

--iztriva element                        |otherwise=Node v (insertBot l x) r
delBot Empty x=Empty
delBot (Node v l r) x
                     |v<x=Node v l (delBot r x)
                     |v>x=Node v (delBot l x) r
                     |otherwise=deleteRoot(Node v l r)
deleteRoot (Node v Empty Empty)=Empty
deleteRoot (Node v l Empty)=l
deleteRoot (Node v Empty r)=r
deleteRoot (Node v l r)=Node (minTree r) l (delBot r (minTree r))
                    
                    

t=Node (5,100) (Node (10,70) (Node (20,60) Empty Empty) (Node (6,71) Empty Empty)) (Node (1,200) Empty Empty)