Wiederholung Bäume

data Tree a = Leaf {}
    | Branch { left :: Tree a
             , key :: a
             , right :: Tree a }
branches :: Tree a -> Int
branches t = case t of
    Leaf {} -> 0
    Branch {} -> 
        branches (left t) + 1 + branches (right t)

Zusammenhang:

Datentyp Funktion
zwei Konstruktoren zwei Zweige
rekursiv (Tree Tree) rekursiv (branches branches)



Johannes Waldmann 2012-06-25