Subato

Resource Files

Binärer Suchbaum

Implementieren Sie ein Haskell Modul, das binäre Suchbäume realisiert.


module Tree where -- einfache Struktur für Binärbäume data Tree a = Empty |Branch (Tree a) a (Tree a) deriving (Eq,Show) --Größe der Bäume size :: Num a => Tree t -> a size _ = 0 --Füge ein Element ein. Mache den Baum zum binären Suchbaum add :: Ord a => a -> Tree a -> Tree a add _ t = t -- ein Operator für die Funktion add infixr 5 +> (+>) el t = add el t -- ist ein Element enthalten. Benutzt die Suchbaumeigenschaft contains :: Ord a => a -> Tree a -> Bool contains _ _ = False --Lösche Elemente aus dem binären Suchbaum remove :: Ord a => a -> Tree a -> Tree a remove _ t = t --ein Operator zum Löschen infixr 5 >- (>-) t el = remove el t --erzeuge eine Liste mit den Elementen aus dem Baum. Durchlaufe inorder --(sortiert für binären Suchbaum) inorder :: Tree t -> [t] inorder _ = [] --verknüpfe alle Elemente des Baums mit einer operation reduce :: t -> (t -> t -> t) -> Tree t -> t reduce x _ _ = x -- wende eine Funktion auf alle Elemente an --(danach ist es kein binärer Suchbaum mehr) mappe :: (t -> a) -> Tree t -> Tree a mappe _ _ = Empty
hs
You are not logged in and therefore you cannot submit a solution.