Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
如何从二叉搜索树中均匀随机地返回节点?
给定一个 BST 可能平衡也可能不平衡 如何能够均匀地随机返回 任何 节点 一个限制是您不能使用外部索引数据结构 您必须以每个节点都有平等被访问的机会的方式遍历树 这个问题让我困惑了好一阵子 如果我们确实可以使用外部哈希表 指针 我们可以对
Algorithm
binarysearchtree
Probability
Traversal
用于插入/删除/排名/选择查询的最佳数据结构/算法
到目前为止 我知道像AVL树和红黑树这样的自平衡BST可以在O log n 次内完成这些操作 然而 要使用这些结构 我们必须自己实现AVL树或RB树 我听说有一个算法 实现这四个操作而不使用自平衡 BST 有了我们自己定义的结构 我们就需要
Algorithm
binarysearchtree
`ImmutableSortedSet` 和 fsharp `Set` 有什么区别?
BCL引入了一组Immutable Collections http blogs msdn com b bclteam archive 2012 12 18 preview of immutable collections released
c
NET
datastructures
F
binarysearchtree
树中的节点是否被视为其自己的祖先?
我想知道计算机科学背景下对 祖先 定义的共识是什么 我问只是因为在算法简介 http en wikipedia org wiki Introduction to Algorithms 第二版 第 14 页 第259章 有算法的描述Tree
Algorithm
binarysearchtree
clrs
计算产生相同 BST 的唯一节点序列的数量
问题 给定一个最多 50 个整数的特定序列 它们代表 某个二叉搜索树 BST 的节点 有多少种排列 这个序列在那里 这也会产生完全相同的 空白石板时间 将原始序列作为 1 个序列包含在总计数中 例如 对于这样的序列 5 2 1 9 8 答案
Algorithm
binarysearchtree
如何有效地合并两个 BST?
如何合并两个二叉搜索树并保持BST的性质 如果我们决定从树中取出每个元素并将其插入到另一个元素中 则此方法的复杂度将为O n1 log n2 where n1是树的节点数 比如T1 我们已经拆分了 并且n2是另一棵树的节点数 比如T2 执行
c
Algorithm
datastructures
MERGE
binarysearchtree
二叉搜索树中序遍历
我对这段代码感到困惑 void in order traversal iterative BinaryTree root stack
binarysearchtree
为什么我的 BST 根指针由于某种未知原因而发生变化?
我正在尝试用 C 语言实现二叉搜索树数据结构 但遇到了一个错误 我的指针值由于我不明白的原因而发生变化 请参阅帖子底部的奇怪输出 删除函数和主要函数澄清输出来自何处 我的测试功能如下 int main void Bst bst Bst ca
c
pointers
binarysearchtree
Objective-C 中的二叉树
我正在学习算法和数据结构 并尝试使用 Objective C 设计和实现二叉树进行训练 到目前为止 我有以下课程 main 供测试用 Node 树的节点 BinaryTree 对于与树相关的所有方法 最早的方法之一BinaryTree我实现
Objectivec
ios
binarytree
binarysearchtree
删除方法二叉搜索树
我正在尝试为我一直在研究的 BST 结构实现一个删除方法 下面是查找 插入和删除方法的代码 public class BST BSTNode root new BSTNode root public void insert BSTNode
Java
binarysearchtree
完美平衡二叉搜索树
我有一个理论问题Balanced BST 我想建立Perfect Balanced Tree具有2 k 1节点 从常规unbalanced BST 我能想到的最简单的解决方案是使用排序Array Linked list并递归地将数组划分为子
c
Algorithm
LinkedList
binarysearchtree
avltree
C 程序将一棵二叉搜索树复制到另一棵
所以 在这里我想出了二叉搜索树程序 其中我创建了 2 个二叉树 tmp 和 tmp2 我试图将整个 tmp2 复制到 tmp 该节点作为用户的输入 但我遇到了一些分段错误 而且我也不太确定逻辑是否正确 这是整个程序 请让我知道 t cpy
c
datastructures
binarysearchtree
ScalaCheck 生成 BST
我正在尝试使用 ScalaCheck 创建 BST 的 Gen 但是当我调用 sample 方法时 它给出了 java lang NullPointerException 我哪里错了 sealed trait Tree case class
scala
binarysearchtree
scalacheck
将二叉树转换为排序数组
有没有一种方法可以将二进制转换为排序数组 而不必遍历树来查找每个数组索引 Node root Node runner int current smallest void findsmallest Node root Pre order tr
Java
Sorting
binarysearchtree
如何让 PreOrder、InOrder、PostOrder 正常工作?
如何让 PreOrder InOrder PostOrder 正常工作 这是我当前的代码和实现 请参阅 InOrder PreOrder PostOrder 我有来自 Geek4Geek 的参考 https www geeksforgeek
python
recursion
key
binarysearchtree
root
如何找到树的分支因子
特定的搜索树在第 3 层有 6 个节点 在下一层有 24 个节点 第 3 级的分支因子是多少 答案是4 但有人能告诉我为什么吗 我以为是2 来自维基百科 在计算 树数据结构和博弈论中 分支因子是每个节点的子节点数量 即出度 如果该值不均匀
Algorithm
binarysearchtree
searchtree
树中始终向左|向右的下降路径的最大长度
我正在准备技术面试 所以基本上从一开始就学习算法 我们得到了 BST 我需要找到其中 desc 路径的最大长度 该路径总是向左或向右 换句话说 示例树的下降路径是2 即15 10 6 5 2 15 10 6 14 我对算法问题非常陌生 解决
Java
Algorithm
binarysearchtree
为什么java TreeMap基于红黑树的实现?
第三段维基百科关于 AVL 树的文章 http en wikipedia org wiki AVL tree说 因为 AVL 树更加严格平衡 所以对于查找密集型应用程序来说 它们比红黑树更快 所以 不应该TreeMap http docs
Java
Algorithm
binarysearchtree
avltree
redblacktree
插入等值元素
我目前正在研究二叉搜索树 我想知道如果您尝试插入与根具有相同值的元素 您会怎么做 它去哪里 BST的定义是它是有序集 因此不允许插入重复项 这通常是由于在 BST 之上构建了更复杂的结构 根据所需的行为 您可能希望在插入重复项时引发异常 错
Algorithm
binarysearchtree
二叉搜索树验证的空间复杂度
验证二叉树是否为 BST 的最佳算法如下 IsValidBST root infinity infinity bool IsValidBST BinaryNode node int MIN int MAX if node null retu
c
Algorithm
binarysearchtree
1
2
3
4
5
»