问题标签 [binary-tree]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
19569 浏览

tree - 两棵二叉树同构是什么意思?

两棵二叉树同构是什么意思?我一直在网上寻找,似乎找不到明确的解释。

据我了解,如果两棵树具有相同的形状,它们就是同构的。所以我猜测两个相同的树可以在节点中包含不同的值。

0 投票
27 回答
137475 浏览

java - 如何判断二叉树是否平衡?

从那个学年到现在已经有一段时间了。在一家医院找到了一份 IT 专家的工作。现在正在尝试进行一些实际的编程。我现在正在研究二叉树,我想知道确定树是否高度平衡的最佳方法是什么。

我在想一些事情:

这是一个很好的实现吗?还是我错过了什么?

0 投票
3 回答
11775 浏览

c++ - 二叉堆的 C++ 实现

我需要一个实现为二叉树的最小堆。真正快速访问最小节点和插入排序。

stl 或 boost 中是否有一个很好的实现,任何人都可以指出我?

0 投票
5 回答
1519 浏览

algorithm - 插入 BST 时,插入的第一项是否始终是树的根?

查看 Wikipedia 上的实现,似乎标准 BST(非自平衡)在插入期间从不重新排列自身,因此添加的第一个项目将始终是根。它是否正确?如果是这样,这是否意味着 BST 有可能经常比 O(logN) 差得多?

使用它作为递归插入的参考:

0 投票
11 回答
14875 浏览

algorithm - 使用 O(1) 辅助空间迭代二叉树

是否可以在 O(1) 辅助空间中迭代二叉树(不使用堆栈、队列等),或者这已被证明是不可能的?如果可能,怎么做?

编辑:如果有指向父节点的指针,我得到的关于这可能的响应很有趣,我不知道这可以做到,但取决于你如何看待它,这可能是 O(n) 辅助空间。此外,在我的实际用例中,没有指向父节点的指针。从现在开始,请在回答时假设这一点。

0 投票
10 回答
103921 浏览

c - C如何将二叉树“绘制”到控制台

在控制台中可以使用哪些算法来绘制二叉树?该树是用 C 实现的。例如,带有数字的 BST:2 3 4 5 8 将在控制台中显示为:

替代文字

0 投票
7 回答
13203 浏览

data-structures - 空二叉搜索树是否有效?

我有两个关于二叉搜索树的问题,都是关于空树的。

  1. 空树(null)是否有效?
  2. 没有子节点的根节点是否有效?
0 投票
6 回答
2248 浏览

tree - 二叉词树

我上一堂cs课几乎没有吱吱作响,现在我在数据结构中。我正在从头开始构建一个二叉树结构,我对迭代器的工作方式有点困惑。我了解它们在双链表中的工作方式,但不确定这个将如何工作。

0 投票
5 回答
55517 浏览

c# - 如何创建二叉树

我的意思不是二叉搜索树。

例如,如果我将值 1,2,3,4,5 插入到二叉搜索树中,则中序遍历将给出 1,2,3,4,5 作为输出。

但是如果我将相同的值插入到二叉树中,则中序遍历应该给出 4,2,5,1,3 作为输出。

可以使用动态数组创建二叉树,其中对于索引 n 中的每个元素,2n+1 和 2n+2 分别代表其左右子节点。

所以表示和级别顺序遍历在这里非常容易。

但我认为,按序、后序、预购是困难的。

我的问题是我们如何创建像二叉搜索树一样的二叉树。IE。有一个包含数据、左右指针而不是数组的树类。这样我们就可以递归地进行遍历。

0 投票
5 回答
12343 浏览

java - Java,二叉树删除方法

我正在尝试remove(node cRoot, Object o)为排序的二叉树编写一个函数。

这是我到目前为止所拥有的:

它不能正常工作。要删除节点,您必须修复树以修复孔。这应该怎么做?