当前位置: 首页 > 知识库问答 >
问题:

访问二叉搜索树的外部节点

荀靖
2023-03-14

在“二叉树”中,一个外部节点是一个没有任何子节点的节点,无论是左的还是右的,如果我错了,请纠正我-在“二叉树”中,一个外部节点总是空的,因为根据我的课堂讲稿,一个内部节点总是有两个子节点,即使没有创建,但我们假设该内部节点的子节点是空的。那么,如果外部节点为空,我如何访问它呢?

我将这段代码作为BST节点类的一部分编写:

/*
 * 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;
}

Last方法给我nullPointerException

共有1个答案

相弘方
2023-03-14

在“二叉树”中,外部节点是一个没有任何子节点的节点,既没有左子节点,也没有右子节点

不。这里的“external”用作形容词。它表示一个节点还不是树的一部分。

外部节点始终为空

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

 类似资料:
  • 我很难按我教授想要的格式打印出一个二叉搜索树。 他的格式是这样的: 我的代码:

  • 我正在为分配制作二叉搜索树和AVL树。 尝试向二叉搜索树添加1,000,000个元素时遇到问题,但我可以向AVL树添加键->值对。(AVLTree没有问题) 如果我平衡二叉搜索树,与AVL树没有区别??(如果我平衡二叉搜索树,它变成AVLTREE有什么意义?) 插入15,000个元素后,我从二叉搜索树中得到错误:线程“main”java.lang.StackOverflowError中出现异常 项

  • 树的特征和定义 树(Tree)是元素的集合。我们先以比较直观的方式介绍树。下面的数据结构是一个树: 树有多个节点(node),用以储存元素。某些节点之间存在一定的关系,用连线表示,连线称为边(edge)。边的上端节点称为父节点,下端称为子节点。树像是一个不断分叉的树根。 每个节点可以有多个子节点(children),而该节点是相应子节点的父节点(parent)。比如说,3,5是6的子节点,6是3,

  • 问题内容: 我想在非二叉树中搜索一个项目(任何节点都可以有n个孩子)并立即退出递归。所讨论的节点可以是任何节点,而不仅仅是叶子。 这是我的代码,但我没有完整的搜索。 nNode包含: (是孩子) 和数据对象。 问题答案: 探索第一个孩子后,您不应该退出。您不需要循环前面的语句。

  • 当删除具有两个子节点的节点时,如果指示使用标准的二叉搜索树节点删除算法,我们应该将其替换为右子树的最小节点还是左子树的最大节点?

  • 我需要得到所有节点的x,y坐标,例如: X:使用顺序遍历访问节点之前已经访问的节点数 Y:节点从根开始的深度 例如对于节点15,x=5(15之前:已经访问过7, 8, 9, 10, 13),y=1(第二级) 树没有父指针 结果:x是错误的,y是正确的 打印: 结果: 我已经尝试过了(我认为这是不正确的,因为正确的子树遍历不计入节点) 结果是