bst (14)


algorithm - 平衡二叉树(AVL)

algorithm - 平衡二叉树(AVL)

好的,这是CS家伙们理论界的另一个话题。 在90年代,我在执行BST方面做得相当不错。 我永远无法得到我的头脑唯一的事情是算法的复杂性来平衡二叉树(AVL)。 你们能帮我吗?…


data structures - 维基百科的一个不平衡的AVL树的例子是如何不平衡的?

上面的图片来自维基百科指出的“维基百科在AVL树上的条目”不平衡。 这棵树如何不平衡已经? 这里有一篇文章的引用: 节点的平衡因子是右子树的高度减去其左子树的高度,平衡因子为1,0或-1的节点被认为是平衡的。 具有任何其他平衡因子的节点被认为是不平衡的,并且需要重新平衡树。 平衡因子可以直接存储在每个节点上,也可以从子树的高度来计算。 左边和右边的子树都有4的高度。左边的树的右边的子树的高度…


data structures - 在二叉搜索树的定义中是否允许重复键?

我试图找到二叉搜索树的定义,并且在任何地方都会找到不同的定义。 有人说,对于任何给定的子树,左侧子键小于或等于根。 有人说,对于任何给定的子树,正确的子键大于或等于根。 我的旧大学数据结构书中说:“每个元素都有一个键,没有两个元素具有相同的键。” 是否有bst的普遍定义? 特别是关于如何处理具有相同密钥的多个实例的树。 编辑:也许我不清楚,我看到的定义是 1)left<= roo…


algorithm - B树比AVL或RedBlack-Tree更快?

我知道性能永远不会是黑白的,通常一种实现在X情况下更快,在Y情况下更慢,等等。但一般来说-B树比AVL或RedBlack-Trees快吗? 它们比AVL树(甚至可能是RedBlack-trees?)要复杂得多,但它们更快(它们的复杂性是否得到回报)? 编辑:我还想补充一点,如果它们比等效的AVL/RedBlack树更快(就节点/内容而言)-为什么它们更快?…


algorithm - 从预订单和后序列表中重建树

考虑这样一种情况:你有两个节点列表,其中你知道的一个是一个树的前序遍历的表示,另一个是同一树的后序遍历的表示。 我相信可以从这两个列表中精确地重建树,我想我有一个算法来做,但还没有证明。 由于这将成为硕士项目的一部分,我需要绝对确定它是可能的和正确的(数学证明)。 然而,它不会成为该项目的重点,所以我想知道是否有一个来源(即纸张或书籍)我可以引用证明。(也许在TAOCP?有人可能知道这部分…


c++ - 连接/合并/连接两个AVL树

假设我有两个AVL树,并且第一个树中的每个元素都小于第二个树中的任何元素。 将它们连接成一个单独的AVL树的最有效方法是什么? 我到处搜索,但没有找到任何有用的东西。…


tree - 对于'N'没有节点,有多少不同的二进制和二进制搜索树可能?

对于二叉树:没有必要考虑树节点值,我只对具有'N'节点的不同树拓扑感兴趣。 对于二进制搜索树:我们必须考虑树节点值。…


data structures - 当两棵树相等时?

如果两棵树(非二叉搜索树)的有序遍历是相同的,那么它是否保证两棵树是相同的? 如果答案是否定的,那么有序和预序遍历都是一样的吗?…



algorithm - 在二进制搜索树中的顺序继承者

给定BST中的节点,如何找到下一个更高的密钥?…


algorithm - 堆与二进制搜索树(BST)

堆和BST有什么区别? 何时使用堆以及何时使用BST? 如果你想以排序的方式获取元素,BST是否比堆更好?…




tree binary avl search trees 红黑树 tree介绍 leetcode avl树java 二叉搜索树中序遍历