二进制搜索树查找给定密钥的后继(密钥不必在树中)

时间:2018-11-12 00:48:02

标签: search tree binary

我将如何更改下面编写的代码以说明不在bst中的输入对k?换句话说,如何在不存在的二进制搜索树中找到密钥的后继者?

public Record getSuccessor(Pair k, Node root) {

    if(root == null) {
        return null;
    }

    if(k.compareTo(root.getNodeRecord().getKey()) == 0) {
        if(root.getRightChild() != null) {
            return getSmallest(root.getRightChild());
        }
        else {
            return root.getParent().getNodeRecord();
        }
    }
    else {
        Record left = getSuccessor(k, root.getLeftChild());
        if(left != null) {
            return left;
        }
        return getSuccessor(k, root.getRightChild());
    }
}

0 个答案:

没有答案