Question: Given the following search tree: datatype: data STree a Sn ( STree a) a (Stree a) | Tp deriving (Show, Eq) The fold for search
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 g t (Sn si a s2) g (foldsr gt sl) a (foldsT g t s2) (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]] 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 g t (Sn si a s2) g (foldsr gt sl) a (foldsT g t s2) (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
