FP Laboratory 11
Jump to navigation
Jump to search
Additional exercises
- Consider the following definition and the example of the m-ary tree.
data MTree a = MTree a [MTree a]
testTree1 :: MTree Int
testTree1 = MTree 1 [(MTree 2 [(MTree 3 []),(MTree 4 [(MTree 5 []),(MTree 6 [])]), (MTree 7 []),(MTree 8 [])]), (MTree 9 [])]
- Create a function that sums all values stored in the m-ary tree.
msum :: MTree Int -> Int
- Create a function that extracts all values from the m-ary tree into a list.
mToList :: MTree a -> [a]
- Create a function that counts all leaves in the m-ary tree.
mLeafCount :: MTree a -> Int
- Create a function that finds a maximum value stored in the m-ary tree.
mMaxTree :: Ord a => MTree a -> a
- Create a function that checks whether a given element is stored in the m-ary tree.
mContains :: Eq a => MTree a -> a -> Bool
- Create a function that returns a number of elements greater than a given value.
mGreaterThan :: Ord a => MTree a -> a -> Int