我正在查看大量的树数据结构,这确实令人困惑。就像我了解基本的二叉树(还有它的众多实现,如 BST 红黑树等)但我真正需要的是一些关于 N'ary 树的信息。我需要研究各种类型的 N'ary 树以及它们的性能比较。到目前为止,我看到的唯一 N' ary 树是 B+ 树。我需要知道哪个是最快的 N'Ary 树。即最优化的时间复杂度,空间复杂度不是问题。
问问题
4046 次
1 回答
7
通常,将某事物制作为K -ary树不会比二叉树( ) 提供任何渐近优势。例如,搜索平衡的二叉树可以及时完成。搜索一个平衡的k-ary树,会给你。假设是一个常数,并且对于任何其他基数,都渐近等效(对于 large ,增长率将是相同的)。即,等价于任何and 。因此,。
然而,实际上,k-ary 树可能会导致更好的内存访问模式,因为每个节点都包含彼此相邻的节点,这意味着树的高度更短(维基百科给出了完整k-ary 树的高度 ,为,这对于任何常数都是渐近相同的),并且遍历也可能跳得更少,因为叶节点可以包含多个有序键。
于 2012-09-09T09:19:13.153 回答