48得票13回答
二叉搜索树中的“内部节点”是什么?

我正在搜索互联网上关于"Internal Node"一词的定义。我找不到简明的定义。我查看的每一个来源都使用这个术语,但没有给出确切的定义,而它的使用也不能很好地说明内部节点实际上是什么。 以下是我主要查询的两个网站: 链接 假定内部节点是具有两个非空子树的节点,但没有说明原始树中哪些节点是内...

14得票7回答
不使用递归找到二叉树的最大深度

递归机制可以很直观地找到二叉树的最大深度,但如果我有一棵很大的树,我宁愿避免使用递归,那么我们如何高效地完成这个任务呢?//Recursive mechanism which I want to replace with non-recursive private static int max...

366得票14回答
二叉树和二叉搜索树的区别

请问有人能用一个例子解释二叉树和二叉搜索树的区别吗?

37得票6回答
二叉树的高效数组存储

我们需要将二叉树的节点写入文件。那么以最节省空间的方式,如何将二叉树写入文件呢?我们可以以数组格式存储它,父节点在位置i,其子节点在2i和2i+1中。但是对于稀疏的二叉树来说,这种方式会浪费很多空间。

181得票8回答
不使用栈或递归,解释 Morris 中序遍历二叉树的方法

请问有没有人能够在不使用栈或递归的情况下帮助我理解 Morris 中序遍历算法?我一直在尝试理解它的工作原理,但它总是让我无法理解。 1. Initialize current as root 2. While current is not NULL If current does no...

15得票3回答
只有叶子节点有值的树

几年前,在一门C#课程中,我学会了编写一个二叉树,看起来差不多是这样的:data Tree a = Branch a (Tree a) (Tree a) | Leaf 我看到了它的好处,它在分支上有其价值,这允许快速、轻松地查找和插入值,因为它会在每个分支的根部遇到一个值,一直向下直到遇到一个...

24得票6回答
AVL树是邪恶的吗?

我正在阅读Steve Yegge关于单例模式的文章,他在其中提到他的老师告诉他AVL树是邪恶的。这只是因为红黑树是更好的解决方案吗?

9得票3回答
这些特定的多线程数据结构需求是否有现成的解决方案?

我需要一个支持以下要求的多线程数据结构: 允许多个并发读取者和写入者 已排序 易于理解 实现多个读取者和一个写入者比较容易,但我真的想允许多个写入者。 我一直在研究这个领域,我知道ConcurrentSkipList(由Lea基于Fraser和Harris的工作实现)因其在Java ...

9得票5回答
二叉树的顶视图存在歧义

二叉树的顶视图究竟是什么? 我发现现有的文章都存在很大的模糊性和缺乏清晰度。 例如,以下内容是用于展示顶视图的 geeksforgeeks 的示例: 1 / \ 2 3 / \ / \ 4 5 6 7 他们接...

67得票9回答
如何计算二叉搜索树的高度?(平衡AVL树)

我正在寻找计算AVL树中节点余额的最佳方法。 我认为我已经做到了,但在进行大量插入/更新之后,我发现它根本不正确(完全错误)。 这有点像两个问题,第一个部分是如何计算子树的高度,我知道定义“节点的高度是从该节点到叶子的最长向下路径的长度。” 我理解它,但我无法实现它。 而且更让我困惑的是,在...