B 树和 2-3-4 树之间的区别

2024-04-04

B 树和 2-3-4 树有什么区别?

另外,你如何找到每个的最大和最小高度?


...链接到维基百科 http://en.wikipedia.org/wiki/2-3-4_tree and引用:

“2-3-4 树是 4 阶 B 树。”

A 2-3-4 is a B-tree.
它被称为 2-3-4 树,因为非叶、非根节点的子节点数量为 2,3 或 4。
如果是6,就可以称为3-4-5-6树,简称3-6树。
由于子节点的最小数量是最大子节点数量的一半,因此通常可以跳过前者并讨论有序 B 树m.
B 树的阶数定义为节点可以拥有的子节点的最大数量。
正如我们所见,在 2-3-4 树中,最大值为 4。

最坏和最好情况的高度由下式给出B树的一般公式 http://en.wikipedia.org/wiki/B_tree#Best_case_and_worst_case_heights.

Best case: logmn. (all nodes are full)
Worst case: logm/2n. (all nodes are half-empty)

where

  • m是树的顺序 - 一个节点可以拥有的子节点的最大数量,在本例中为 4 - 并且
  • n是树中的条目数

“B树可以有任意数字的顺序”- 是的,但是对于 B 树的特定子类,您可以提前修复该数字。这就像谈论一般的蝴蝶与谈论蝴蝶帝王蝶 http://en.wikipedia.org/wiki/Monarch_butterfly。 B 树是一类数据结构,就像蝴蝶是一类昆虫一样。帝王蝶 http://en.wikipedia.org/wiki/Monarch_butterfly是蝴蝶的子类,就像 2-3-4 树是 B 树的子类一样。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

B 树和 2-3-4 树之间的区别 的相关文章

  • clojure 中的反转哈希映射

    我在 clojure 中有哈希映射 key1 value1 key2 value2 key3 value1 我需要将其转换为哈希映射 value1 key1 key3 value2 key2 有 Clojure 方法可以做到这一点吗 clo
  • 如何将 PriorityQueue 恢复到方法调用之前的初始状态?

    我正在做一道练习题 这个问题基本上是你传入一个 PriorityQueue 和某个 k 并且你要返回该 PriorityQueue 中的第 k 个最小值 您还可以将 PriorityQueue 恢复到其初始状态 并可以使用一个堆栈或队列作为
  • 如何实现一套?

    我想用C实现一个Set 创建 SET 时可以使用链表吗 还是应该使用其他方法 您通常如何实现自己的集合 如果需要 笔记 如果我使用链表方法 我的 Set 操作可能会遇到以下复杂性 初始化 O 1 销毁 O n 插入 O n 删除 O n 并
  • d3树计算所有孩子的数量

    我有一个基于以下内容的 d3 树 http bl ocks org mbostock 1093025 http bl ocks org mbostock 1093025 我如何计算所有孩子的数量 我已经尝试过这个 但是它计算了树中的所有行
  • 如何从 trie 构造 DAWG?

    我只是构建一个trie http en wikipedia org wiki Trie对于一个词汇表 然后我发现有很多分支共享相同的结构 我想将它们组合在一起 结果是DAWG http en wikipedia org wiki Deter
  • 绘制java类的依赖关系图

    嘿嘿 我正在寻找像 JDepend 这样的工具来为 java 类文件绘制图表 JDepend 看起来很好 但它没有从 deps 中解析 deps 也许我只是缺少一些特殊选项 直接输出为 dot 格式或图像会很好 谢谢 你可以试试Java依赖
  • 基于正方形瓷砖直角三角形象限的坐标系中的边界框

    我正在为游戏创建一个基于图块的 2D 地形系统 然而 我还使用游戏中的坐标 需要能够将边界框映射到 图块坐标 中 并点击边界框接触的每个图块 不用担心 有一个 kd 树和所有工作 美好的 使用定点 真实世界 坐标 我可以将每个图块计为 2
  • 提取给定节点的所有父节点

    我正在尝试使用以下命令提取每个给定 GO Id 节点 的所有父级EBI RDF sparql 端点 https www ebi ac uk rdf services sparql 我是根据this https stackoverflow c
  • java有跳过列表实现吗

    I find ConcurrentSkipListSet http download oracle com javase 6 docs api java util concurrent ConcurrentSkipListSet html在
  • 使用 Java 中的映射实现的队列数据结构,大小限制为 5

    我有带有一些记录的地图 我想将该映射限制为仅 5 个元素 并且每当添加新元素时 应删除第一个元素 并应在映射的最后位置添加新元素 类似于 FIFO 的东西 任何人都可以建议我使用一个数据结构或解决方案本身 E g Map
  • 为什么在用 size 声明的向量上使用 Push_back 会导致向量为零?

    我制作了一个恒定大小的向量来存储负值 然后打印我得到的所有值都是零 我只是想知道为什么它不存储负值 include
  • MATLAB 链表

    有哪些可能的方法来实现链表MATLAB http en wikipedia org wiki MATLAB 注意 我问这个问题是为了教学价值 而不是实用价值 我意识到 如果您实际上在 MATLAB 中滚动自己的链表 那么您可能做错了什么 然
  • 将文件保存为 MYSQL 数据库中的 blob 或文件路径

    我知道这些问题是常见问题之一 但我需要您针对具体案例提供帮助 我正在开发一个应用程序 其中一些用户可以添加订单 一些用户可以执行这些订单 这些订单非常具体 因此只有有限数量的用户可以添加它们 然后 为每个订单生成三个文档 每个文档的大小不超
  • 比较周期性数据的快速方法

    假设我有任意类型的数据集 A B C D 并且我想将其与另一个数据集进行比较 我希望 A B C D B C D A C D A B 和 D A B C 的比较成立 但是不适用于 A C B D 或任何其他未类似排序的集合 有什么快速方法可
  • 同步不经常更新的哈希图的最佳方式

    我有一个在应用程序中使用的 HashMap 数据是在应用程序初始加载期间从数据库填充的 然后它始终只是读取并且从不更新 会有多个线程不断地读取数据 由于数据永远不会更新 因此我们目前不使用任何同步 仅使用 HashMap 我们现在定义的方式
  • 比较 C# 中 DateTime 的二进制表示形式

    我有一个DateTime表示为长 8 个字节 来自DateTime ToBinary 我们称之为dateTimeBin 是否有一种最佳方法可以删除时间信息 我只关心日期 以便我可以将其与一天的开始进行比较 假设我们将此样本值作为一天的开始
  • 将非平凡函数应用于 data.table 的有序子集

    Problem 我正在尝试使用我新发现的 data table 功能 永久 来计算一堆数据的频率内容 如下所示 Sample Channel Trial Voltage Class Subject 1 1 1 196 82253 1 1 1
  • 为什么 Java 中的 hashCode() 可以对不同对象返回相同的值?

    引用我正在读的书中的一段话首先Java http www amazon co uk Head First Java Kathy Sierra dp 0596009208 关键是 哈希码可以相同 但不一定保证对象相等 因为使用的 哈希算法 h
  • 从 python 中的缩进文本文件创建树/深度嵌套字典

    基本上 我想迭代一个文件并将每行的内容放入一个深层嵌套的字典中 其结构由每行开头的空格数量定义 本质上 目标是采取这样的事情 a b c d e 并将其变成这样的东西 a b c d e Or this apple colours red
  • Webix 树节点的 Font Awesome 图标

    Webix 与 Font Awesome 集成 http docs webix com desktop icon types html 但是如何使用 Font Awesome 图标代替树中的默认文件夹 文件图标来设置各个节点的样式呢 这是我

随机推荐

  • 添加动态 formControl 时,所有必需输入字段的文本颜色更改为无效颜色

    每当我通过按钮单击添加动态 formControl 时 所需的所有输入字段都会将颜色更改为无效 红色 我的期望是 只有当输入被 触摸 时 表单字段才会更改为无效颜色 并且仅在特定的非全部 我不知道为什么会发生这种情况 我刚刚接触有角度和有角
  • 在 Silverlight 中检测控件的焦点

    有什么方法可以判断某个控件 特别是 System Windows Controls TextBox 是否在 Silverlight 中获得焦点 我正在寻找类似以下内容的内容 您会在常规 Net 应用程序中看到的内容 textBox Focu
  • Swift 3 中的 NSFastEnumeration

    我正在尝试迭代一个对象CMSensorDataList返回的类CMSensorRecorder accelerometerData from to 该类确认NSFastEnumeration协议 所以我尝试了中提到的技巧https stac
  • JUnit 运行测试命令行

    我有以下结构 lib junit 4 10 jar tests Tester java tests Tester class build jar jar file jar 测试器属于包测试 我可以使用编译测试 javac cp build
  • App Engine SDK DevServer 只读模式?

    有没有办法以只读模式运行应用程序引擎开发服务器 以模拟 Google 的定期维护 从而将数据存储区置于只读模式 在定期维护期间优雅降级 http code google com appengine docs python howto mai
  • 如何映射输入文件数组?

    我有两个函数 一个将文件转换为 dataUrl 另一个返回结果的承诺 fileToDataURL file var reader new FileReader return new Promise function resolve reje
  • 我可以使用 <%= ... %> 在 ASP.NET 中设置控件属性吗?

  • 行为相同的条件检查的执行[重复]

    这个问题在这里已经有答案了 我回答了这个问题 https stackoverflow com questions 25234401 which is a better practice for if else condition 25234
  • 使用按钮导航到导航窗口中的另一个页面

    我正在尝试使用 WPF 中的导航命令框架在 WPF 应用程序 桌面 不是 XBAP 或 Silverlight 内的页面之间导航 我相信我已经正确配置了所有内容 但它不起作用 我构建并运行时没有错误 在输出窗口中没有收到任何绑定错误 但我的
  • 将 CSS3 动画/变换与滚动事件链接起来

    我正在寻找一种将 CSS3 过渡链接到滚动事件的方法 我正在寻找类似的功能http nizoapp com http nizoapp com 当您到达页面上的某个滚动点时 某些元素会移动 我知道你必须使用 jQuery 调用滚动事件 使用偏
  • 具有多个 S3 源的 AWS CloudFront

    我想配置 AWS CloudFront CDN 以提供来自两个 AWS S3 存储桶的 HTML 静态内容 第一个存储桶应在根目录中托管对象 第二个存储桶应在特定子路径中托管对象 S3配置 第一个桶 myapp home 应将主页和所有其他
  • C# 中的排序列表

    如何根据项目的整数值对列表进行排序 该列表就像 1 5 3 6 11 9 NUM1 NUM0 结果应该是这样的 1 3 5 6 9 11 NUM0 NUM1 有什么想法可以使用 LINQ 或 Lambda 表达式来做到这一点吗 提前致谢 这
  • 导入 _imaging 时 DLL 加载失败:

    我正在尝试运行我的 Python 程序 这些是我要导入的模块 从 tkinter 导入 从 functools 导入部分将 numpy 导入为 np 导入 matplotlib matplotlib use TkAgg 从 matplotl
  • 如何使用 CSS 将自定义位图字体嵌入到网站中

    如何使用 CSS 将自定义位图字体嵌入到我的网站中 我已尝试以下操作 但它只是恢复为后备字体 font face font family AgendaSemibold src url Agenda Semibold bmap format
  • JPA:检查实体对象是否已持久化

    有没有一个通用的方法可以 if entity is persisted before entity entity merge else entity persist 那么包含上述逻辑的方法在任何地方都是安全的吗 如果您需要知道对象是否已经在
  • Google Analytics API 3 - 错误:“invalid_grant”,说明:“”,Uri:“”

    我今天用谷歌搜索了这个问题的生命 分辨率为零 我正在尝试使用服务帐户构建一个非常简单的 Google Analytics 数据请求控制台应用程序 我已在 Google Developers Console 中设置了所有必需的详细信息 但收到
  • TFDMoniFlatFileClientLink 不规则地不跟踪到文件

    我有一个TFDMoniFlatFileClientLink在表单上 文件名设置为d temp monitor txt 追踪 真 TFDConnection Params MonitorBy mbFlatFile 这有时有效 有时则不跟踪任何
  • Python-创建一个以变量为名称的文本文件

    所以我正在做一个项目 我的程序创建一个名为 十个绿色瓶子 的文本文件 并在其中写入 10 个绿色瓶子歌曲 我已经成功地使其工作 但我想让它变得更好 我首先让用户可以选择瓶子的数量 效果很好 现在我只希望名称与用户输入的瓶子数量相关 即 如果
  • 为什么 Linux 可以在多处理中接受套接字?

    该代码在 Linux 上运行良好 但在 Windows 下失败 这是预期的 我知道多处理模块使用fork 产生一个新进程 并且父进程拥有的文件描述符 即打开的套接字 因此由子进程继承 然而 据我了解 您可以通过多处理发送的唯一数据类型需要是
  • B 树和 2-3-4 树之间的区别

    B 树和 2 3 4 树有什么区别 另外 你如何找到每个的最大和最小高度 链接到维基百科 http en wikipedia org wiki 2 3 4 tree and引用 2 3 4 树是 4 阶 B 树 A 2 3 4 is a B