Question: Define a polymorphic Tree data type, where a Tree is either a Node with a left subtree, a value, and a right subtree; or it
Define a polymorphic Tree data type, where a Tree is either a Node with a left subtree, a value, and a right subtree; or it is Null.
Also define a companion object for the Tree data type, with the following functions:
a Three polymorphic functions inOrder, preOrder, and postOrder to traverse the tree inorder, preorder, and postorder. Each function takes a tree and returns a list with the contents of the tree when traversed in that order.
b A polymorphic function, search, which takes two arguments a Tree and a key and returns a boolean result based on whether the key is found in the tree.
c A polymorphic function, replace, which takes three arguments a Tree t a value before, and a value after and returns t with ALL instances of before replaced with the value after.
Hint: Model your Tree data type after the List data type.
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
