Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
为什么我的 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
二叉搜索树过滤某个范围内的值
我有一棵由 N 个元素组成的树 RBT 假设我有这棵树 N 7 4 2 6 1 3 5 7 如何以比 O N 更好的性能过滤某个范围内的值 例如打印 3 到 6 之间的所有值 有具体的算法吗 我想象它类似于找到值 3 log N 的位置 以
Algorithm
Search
binarysearchtree
Traversal
python 删除二叉搜索树中的节点
下面的代码是我的二叉搜索树的实现 我想实现删除方法来删除节点 下面是我的实现 但是当我执行时 bst BSTRee bst insert 5 bst insert 11 bst insert 3 bst insert 4 bst inser
python
datastructures
binarysearchtree
如何使用{pre,in,post}顺序遍历结果重建BST
我们知道前序 中序和后序遍历 什么算法可以重建 BST 因为是 BST in order可以排序自pre order or post order 其实 无论是pre order or post order只需要 如果你知道比较函数是什么 F
Algorithm
binarytree
binarysearchtree
算法 - 二叉搜索树每两个节点之间的距离总和,时间复杂度为 O(n)?
问题是在给定每个父子对间隔单位距离的情况下 找出 BinarySearchTree 中每两个节点之间的距离之和 每次插入后都要计算它 ex gt first node is inserted root total sum 0 gt left
Java
Algorithm
timecomplexity
binarysearchtree
dynamicprogramming
二叉搜索树中节点的公平删除
BST中删除节点的思路是 如果该节点没有子节点 则删除该节点并将父节点指向该节点的指针更新为空 如果该节点有一个子节点 则通过更新该节点的父节点指向其子节点的指针来用其子节点替换该节点 如果该节点有两个子节点 则找到该节点的前驱节点并将其替
Algorithm
datastructures
binarysearchtree
从整数流创建平衡二叉搜索树
我刚刚结束了一次工作面试 我一直在纠结这个问题 在我看来 在 15 分钟的面试中这是一个很难回答的问题 问题是 编写一个函数 给定整数流 无序 构建平衡搜索树 现在 您不能等待输入结束 它是一个流 因此您需要动态平衡树 我的第一个答案是使用
Algorithm
datastructures
Tree
binarysearchtree
是什么使得树遍历是前序的还是有序的?
为什么通过根 左 右进行的树遍历称为前序 难道这不应该是有序的吗 因为根总是第一位的 对我来说 为什么这样称呼它没有意义 因为根始终是第一个元素 我们总是有这样的限制 左孩子在右孩子之前被访问 主要区别在于根在哪里 如果根是before两个
Algorithm
binarytree
binarysearchtree
treetraversal
1
2
3
4
5
»