Answered step by step
Verified Expert Solution
Question
1 Approved Answer
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 rotationsStep by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started