395得票19回答
二叉树有哪些应用?

我想知道二叉树的具体应用是什么。你能举几个实际的例子吗?

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

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

267得票7回答
跳表 vs 二叉搜索树

我最近了解到一种称为跳表的数据结构。它的行为和二叉搜索树非常相似。 那么,为什么你会优先选择跳表而不是二叉搜索树呢?

214得票23回答
在Java中如何打印二叉树图形?

我该如何在Java中打印一棵二叉树,以便输出结果类似于: 4 / \ 2 5 我的节点:public class Node<A extends Comparable> { Node<A> left, right; A data; ...

212得票13回答
在定义二叉搜索树时,是否允许重复的键?

我正在尝试寻找二叉搜索树的定义,但无论在哪里都找到了不同的定义。 有人说对于任何给定的子树,左子节点的键小于或等于根。 有些人说对于任何给定的子树,右子节点的键大于或等于根。 而我的老大学数据结构书上说“每个元素都有一个键,没有两个元素拥有相同的键。” 是否有一个通用的BST定义?特别...

212得票8回答
堆与二叉搜索树(BST)的比较

堆和二叉搜索树的区别是什么? 何时使用堆,何时使用二叉搜索树? 如果您想要以排序的方式获取元素,在堆和二叉搜索树之间,BST更好吗?

190得票34回答
如何在任意二叉树中找到两个节点的最近公共祖先?

这里的二叉树不一定是二叉搜索树。 可以将其结构表示为 -struct node { int data; struct node *left; struct node *right; }; 我和我的朋友想到的最优解如下: 考虑这个二叉树: 其中序遍历结果为:8,4,...

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

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

147得票7回答
何时使用先序、后序和中序二叉搜索树遍历策略

我最近意识到,尽管我在生活中经常使用二叉搜索树(BST),但我从未考虑过除中序遍历以外的其他遍历方式(虽然我知道如何轻松地调整程序以使用前序或后序遍历)。 在意识到这一点后,我拿出了一些旧的数据结构教科书,寻找前序遍历和后序遍历有用性背后的原因-不过他们没有说太多。 有哪些实际场景下需要使用先...

140得票21回答
如何实现二叉树?

哪种数据结构最适合在Python中实现二叉树?