访问二进制搜索树的外部节点

时间:2014-12-28 05:49:00

标签: java binary-search-tree

在"二叉树"中,外部节点是一个没有任何子节点的节点,无论是左还是右,如果我错了,我就纠正我,在&#中34;二进制搜索树",外部节点总是空的,因为根据我的讲义,内部节点总是有2个子节点,即使没有创建,我们假设该内部节点的子节点为空。 那么如果外部节点为空,我该如何访问?

我将此代码编写为BST Node类的一部分:

/*
 * Checks if this node is an internal node. 
 * Returns true if it is internal node, false otherwise.
 */
protected boolean isInternal(){
    // TODO Put your code here
    if(this!=null)
        return true;
    else
        return false;
}

/*
 * Checks if this node is an external node. 
 * Returns true if it is external node, false otherwise.
 */
protected boolean isExternal(){
    if(this==null && this.left==null && this.right==null)
        return true;
        else return false;
}

最后一个方法给我nullPointerException

1 个答案:

答案 0 :(得分:0)

  

在“二叉树”中,外部节点是没有任何子节点的节点,左侧或右侧

没有。这里的“外部”用作形容词。它意味着一个节点不是树的一部分。

  

外部节点始终为空

呃,节点不能“空”。节点指针可以为null,但这只意味着它没有指向节点。

节点可以具有空指针而不是指向子节点的指针。当它没有子节点(两个指针都为null)时,它被称为Leaf节点。