(*tsearch-followup*) (* Tree search data structures and traversal and insertion fns *) (* Tutorial/Practical *) (* (1) Traverse x using preorder, inorder, and postorder (2) Draw (using pen and paper) the tree x NOTE: you may have to manually analyse x as follows val Tree(l,a,r) = x; (etc!) *) val Tree(lx,a,rx) = x; val Tree(llx,b,rlx) = lx and Tree (lrx,c,rrx) = rx; (* and so on, to determine "shape" of x *) (* (3) Create a new type of tree, using a different type and predicate For example, a dictionary of strings. Hint: you must define the appropriate binary predicate. *) (* NOTE: I did not mean that you redefine datatype 'a tree !! *) fun bp (x:string) (y:string) = x