问题标签 [2-3-tree]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - 如果给定节点数,则计算 2-3 棵树的数量
如果给出了数据的数量,我试图找出可用树的数量。例如)如果有 8 个不同的数据,可以制作多少棵树?
tree - 从 2-3 树中的根删除
我有以下 2-3 树:
我需要从中删除“L”,然后删除“X”,但我找不到有关从根目录删除的材料。
谢谢你!
java - 递归不导航所有子节点
我需要导航我的 23Tree 并打印所有级别和相应的元素。但是,我的递归向任何一个方向进行,并且不会返回并执行其他调用。任何帮助将非常感激。
这是我的节点类:
这是我打印节点的递归函数:
这是输出:
(编辑)这是我的主要方法:
以及文件 test.dat 的内容:
为清楚起见,我还添加了 2 个大类:
StringTwoThree 类:
}
TwoThreeTree 类:
data-structures - 2-3 树的迭代器对象
我需要 2-3 树的迭代器帮助。我现在实现的方式是一种递归方法,它几乎类似于 DFS。我从根初始化遍历,访问它的左分支,直到遇到叶节点,然后将其添加到链接列表中。一步一步地,随着递归回溯,左分支中的所有节点都被添加,然后是根的第一个键以保持顺序。我对中间和右分支做同样的事情。一旦建立了链表,我只需返回它的迭代器。我想知道这是为 2-3 树构建迭代器的最佳方式吗?我可以改变什么来提高效率?我担心如果树变得很大,递归调用可能会遇到 StackOverFlowError (哈哈,具有讽刺意味。)
time-complexity - 2-3棵树中插入和删除的时间复杂度
为什么 2-3 树中的插入和删除操作总是具有 O(logn) 的复杂度,有数学证明吗?
c# - 2-3(二-三)树插入方法c#
我在 C# 中实现 2-3 树插入方法时遇到问题。我有工作 B 树的简单实现,在此基础上我需要为 2-3 树创建插入方法。我观看了 2-3 树如何工作的视频,但我不知道如何在代码中实现它。
任何人都可以帮助我编辑此代码并将其用于 2-3 树。
这是我拥有的 B-tree 的代码:
binary-tree - 在选择自平衡 BST 的类型时要考虑什么样的决定?
例如,我知道 2-3 树和红黑树的概念和思想,但你能告诉我其中一种比另一种更好的情况吗?我应该问自己什么问题?
由于问题不只是关于 2-3 树和红黑树,请随意举出其他自平衡树的示例,我将研究它们。只是想从一般的角度提出这个问题,以便于谷歌搜索其他想知道类似或相同问题的人。
algorithm - 2-3棵树(B树)中的求职面试问题
这是工作面试问题的一部分,在第二部分变得更难了。
给定两棵 2-3 棵树 T1 和 T2 使得对于h
已知的每棵树(h 表示高度)和m
,M
对于每棵树也是已知的(m 表示最小值,M 表示最大值),再加上每个节点T1
< 中的每个节点T2
。我被要求找到一种算法将它们加入一棵树O(|h1-h2|+1)
这个很简单,我必须指出,这个算法可能会导致一棵树的 h 比前两个大。
现在,我得到了k
2-3 棵树 (T1,T2,T3...Tk),它们的条件完全相同,h_1<=h_2<=...<=h_k
而且知道没有三棵树的高度相同,可以将它们加入O(h_k-h_1+k)
。
起初我考虑使用之前的算法将前两个连接在一起,然后将第三个连接到结果等等,但我觉得这里出了点问题,因为我没有利用“没有三棵树共享一样高”。
我在这里缺少什么?