Question: Use haskell to complete the code, first pic is the question, and the second pic is the code you need to make it work. Problem!
Use haskell to complete the code, first pic is the question, and the second pic is the code you need to make it work.


Problem! 8 (16 points) Write a function reroot ITree -> c -> ITree such that (reroot t c) returns the result of altering t to make c's node the root.5 Your function should run in O(d) time where d is the depth of c's node in t. Moreover, your function should correctly update the left subtree element counts as needed. Hint: Tree rotations may be helpful, see Figure 2 and https://en.wikipedia.org/wiki/ Treerotation. 5 If c does not occur in t, then an error is reported Testing: Use the QuickCheck property prop_reroot Right Rotation Left Rotation Figure 2: Left and right rotations. Problem! 8 (16 points) Write a function reroot ITree -> c -> ITree such that (reroot t c) returns the result of altering t to make c's node the root.5 Your function should run in O(d) time where d is the depth of c's node in t. Moreover, your function should correctly update the left subtree element counts as needed. Hint: Tree rotations may be helpful, see Figure 2 and https://en.wikipedia.org/wiki/ Treerotation. 5 If c does not occur in t, then an error is reported Testing: Use the QuickCheck property prop_reroot Right Rotation Left Rotation Figure 2: Left and right rotations
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
