Question: 5. (8 points) Given the following search tree datatype data STree a = Sn ( STree a) a (Stree a) | Tp deriving (Show, Eq)



5. (8 points) Given the following search tree" datatype data STree a = Sn ( STree a) a (Stree a) | Tp deriving (Show, Eq) The fold for search trees is: foldst g t (Tp) = t foldst gt (Sn sl a s2) g (foldsT g t sl) a (foldsT g t s2) (a) (2 points) What is the most general type of foldST: (b) (6 points) Use foldst to write a program, paths::STree Int -> [[int]], to find the list of all the paths of a search tree of integers. Thus, for example: paths (Sn (Sn Tp 5 Tp) 6 (Sn(Sn Tp 3 Tp) 1 (Sn Tp 2 Tp)) = [[6,5], [6,1,3], [6,1,2]]
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
