Q1
Worst Time Case:
n^4
search all 4 cases
Improved:
iterate a
iterate b
list sum
iterate c
Iterate d
list sum
Search for a possible 100
O(n^2)
Q2
a)
- Easiest: O(n) time and space
We do a inorder traversal, and put it in the linked list
- Improved: Rotate right, till theres no left child
if theres no left child, go to the right child and rotate
O(n) //traversal, rotation O(1)
O(1) //space
b)
- Easiest :
Recursion, find median and continue
O(nlogn)
Space(logn) //recursion stack
- Improved:
2T(n/2) + o(1)
Make a function that will take in a List and n
The function will return connect the mid with the left tree and right tree recursively while passing n which is taking the number of elements of the list
Find mid, do a recursive step of building the left and right tree.
To build left,
Take first n/2 elements and put in function
To build right.
Take the n- n/2 - 1 elements of the right and put in function
The base case is when n =0 , return value iteself
recursive step
add(left) , add(mid) , add(right)
No comments:
Post a Comment