I have built a binary search tree but am really stuck with the delete function.
My code so far is
BSTreeADT removeItem(itemType item, BSTreeADT t)
{
if (isEmptyBSTree(t))
return t;
if (isEmptyBSTree(leftTree(t)))
return rightTree(t);
else if (isEmptyBSTree(rightTree(t)))
return leftTree(t);
else
/* return new tree constructed with least value in rightTree(t) as root
current leftTree(t)
tree constructed by removing least value from rightTree(t)
end if
end if
}
please could someone point me in the right direction?