Arrays 将数组排序为2-4+;线性时间树

Arrays 将数组排序为2-4+;线性时间树,arrays,algorithm,data-structures,b-tree,red-black-tree,Arrays,Algorithm,Data Structures,B Tree,Red Black Tree,我需要以下问题的帮助: 描述一种算法,该算法给定一个大小为n的排序数组,构建一个包含 与数组相同的键。算法应在时间O(n)内运行 我已经知道如何在线性时间内从排序数组构建红黑树(因为在插入后修复树的函数的摊销时间是O(1)) 但是,我不知道这个技巧如何帮助我处理2-4+棵树: 这是否与插入这些树后的摊销固定时间有关?(我不知道是什么…) 还是我完全错了 顺便说一下,我不能使用我们在课堂上看到的从O(n)中的红黑树构造2-4树的技巧,它必须是2-4+树算法的简单数组 提前感谢红色/黑色树和2-3-

我需要以下问题的帮助:

描述一种算法,该算法给定一个大小为n的排序数组,构建一个包含 与数组相同的键。算法应在时间O(n)内运行

我已经知道如何在线性时间内从排序数组构建红黑树(因为在插入后修复树的函数的摊销时间是O(1))

但是,我不知道这个技巧如何帮助我处理2-4+棵树: 这是否与插入这些树后的摊销固定时间有关?(我不知道是什么…)

还是我完全错了

顺便说一下,我不能使用我们在课堂上看到的从O(n)中的红黑树构造2-4树的技巧,它必须是2-4+树算法的简单数组


提前感谢

红色/黑色树和2-3-4 B树之间有着密切的联系。事实上,这两个是彼此等距的,这意味着任何2-3-4 B树都可以编码为红黑树,反之亦然。讨论细节

使用此连接,您应该能够调整在线性时间内构建ree黑树的算法,以代替在线性时间内构建2-3-4 B树。您可以构建红黑树,然后对其进行迭代以确定要构建的B树的结构,也可以尝试更改算法以直接构建B树


希望这有帮助

请告诉我们您尝试了什么,并告诉我们您遇到了什么困难。