Best writers. Best papers. Let professionals take care of your academic papers

Order a similar paper and get 15% discount on your first order with us
Use the following coupon "FIRST15"
ORDER NOW

split a bst in to 2 trees

First: Implement the class TreapADT including an search, insert, and delete methods.

Then split the tree by adding a SplitTree method.

✔ The tree splitting problem is this:

✗ Given a tree and a key value K not in the tree, create two trees: One with keys less than K, and one with keys greater than K

✔ This is easy to solve with a treap, once the insert operation has been implemented:

✗ Insert (K, INFINITY) in the treap

✗ Since this has a higher priority than any node in the heap, it will become the root of the treap after insertion

✗ Because of the BST ordering property, the left subtree of the root will be a treap with keys less than K, and the right subtree of the root will be a treap with keys greater than K. These subtrees then are the desired result of the split

✔ Since insert can be done in time O(H) where H is the height of the treap, splitting can also be done in time O(H)

 
"Looking for a Similar Assignment? Order now and Get 10% Discount! Use Code "Newclient"