<分区>
我看了很多树数据结构,这真的很令人困惑。就像我了解基本的二叉树(还有它的许多实现,如 BST 红黑树等) 但我真正需要的是关于 N'ary 树的一些信息。 我需要研究各种类型的 N'ary 树以及它们的性能比较。 到目前为止,我唯一看到的 N'ary 树是 B+ 树。我需要知道哪一个是最快的 N'Ary 树。即最优化的时间复杂度明智,空间复杂度不是问题。
<分区>
我看了很多树数据结构,这真的很令人困惑。就像我了解基本的二叉树(还有它的许多实现,如 BST 红黑树等) 但我真正需要的是关于 N'ary 树的一些信息。 我需要研究各种类型的 N'ary 树以及它们的性能比较。 到目前为止,我唯一看到的 N'ary 树是 B+ 树。我需要知道哪一个是最快的 N'Ary 树。即最优化的时间复杂度明智,空间复杂度不是问题。
最佳答案
一般来说,制作 K-ary树, , 与 二叉树 ( ) 相比没有任何渐近优势。例如,可以在 中搜索一个平衡的二叉树时间。搜索一个平衡的 k-ary 树,会给你 .假设 是常数,和 对于任何其他基数,渐近等价(增长率速率对于大 是相同的)。即 相当于对于任何 和 .因此, .
但实际上,k 叉树 可能会产生更好的内存访问模式,因为每个节点都包含 节点彼此相邻,这意味着树的高度更短(维基百科给出高度,,对于完整的k-ary树为,这对于任何渐近相同常量 ),并且遍历也可能跳得更少,因为叶节点可以包含多个有序键。
关于data-structures - N 元树数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12269700/