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)

Need your ASSIGNMENT done? Use our paper writing service to score good grades and meet your deadlines.


Order a Similar Paper Order a Different Paper