Joining Two Trees (cont)
Implementation of tree-join
joinTrees(t1,t2):
| Input trees t1,t2
| Output t1 and t2 joined together
|
| if t1 is empty then return t2
| else if t2 is empty then return t1
| else
| | curr=t2, parent=NULL
| | while left(curr) is not empty do // find min element in t2
| | parent=curr
| | curr=left(curr)
| | end while
| | if parent≠NULL then
| | left(parent)=right(curr) // unlink min element from parent
| | right(curr)=t2
| | end if
| | left(curr)=t1
| | return curr // curr is new root
| end if
|
|