data Tree a = Branch (Tree a) (Tree a)
| Leaf a
fold :: ...
largest :: Ord a => Tree a -> a
replace_all_by :: a -> Tree a -> Tree a
replace_all_by_largest
:: Ord a => Tree a -> Tree a
die offensichtliche Implementierung
replace_all_by_largest t =
let l = largest t
in replace_all_by l t
durchquert den Baum zweimal.
Eine Durchquerung reicht aus!