B树能有更多的解吗?

标签 c algorithm graph b-tree

我有这个值(value)观

10,15,20,25,30,33,38,40,43,45,50

然后我插入 34

我尝试了 2 个发电机
https://s3.amazonaws.com/learneroo/visual-algorithms/BTree.html
http://ysangkok.github.io/js-clrs-btree/btree.html 他们给了我不同的结果

在纸上,我尝试创建一棵树,将这些连续值逐一插入,并得到完全不同的结果。

如果元素按随机顺序排列,结果会相同吗?

我的结果是这样的 enter image description here

问题是,当我在右边有 38|40|45 并且我添加 50 时,我必须将 40 提高一个级别,但在互联网生成器中,他们也将 33 降低一个级别,我不明白为什么

最佳答案

Can a B tree have more solutions?

我认为您是在问是否可以有不止一种方法来在 b 树中存储一组给定的键,但您自己已经回答了这个问题。您提供的两个生成的示例都包含相同的键,并且是有效的 1-3 b 树。第一个也是有效的 1-2 b 树。通过更正,您的尝试也是有效的 1-3 b 树。

请注意,根据内部节点允许包含的键数量,b 树有不同的风格,而且即使您可能更熟悉的二叉树,也可以为相同的结构提供许多不同的结构一组两个或更多键。

If the elements were in random order would the result be the same?

很可能是这样,是的,但这不是 b 树形式和结构的问题,而是关于用于构建和维护它的软件的实现。

你似乎很困惑

in the internet generators they also put 33 a level down and I don't see why

,但我们只能推测支持这些树的软件的实现。这里的任何人都不太可能确切地告诉您为什么他们会生成特定的 B 树形式,但这些形式是有效的,因此,现在也是您的形式。

关于B树能有更多的解吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48631359/

相关文章:

c++ - c中的升序和降序

c - c中的帕斯卡三角形与gmp

algorithm - 混合数字和文字标识符的最佳哈希函数

java - 排序迭代是 Trie 的固有特性还是由实现来提供它?

algorithm - 在巨大的有向图中检测异常路径模式

c++ - 探索具有未定义大小的矩阵

c - 这种内联结果常见吗?

c - 在 Linux 中从/proc 获取 PID 列表

algorithm - 服务器如何避免MMO游戏流量呈二次方增长?

graph - ArangoDB 将顶点和边复制到邻居