gpt4 book ai didi

algorithm - 使用黑盒 findmax 子程序进行排序的运行时间

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:21:44 25 4
gpt4 key购买 nike

假设您有一个黑盒子程序可以从 (log n)^a 中的 n 个元素数组中提取最大值时间,在哪里0 <= a <= 1 .您正在尝试创建一个利用此子例程的最佳排序算法。

显而易见的解决方案是对整个数组调用子程序,将最大值与最后一个元素交换,然后在A[1, n-1] 上迭代调用子程序。通过A[1, 2] .

有没有比n*(log n)^a运行得更快的更好算法时间,还是明显的解决方案是最优的?

最佳答案

没有。按照预期,我们需要黑匣子中的 Ω(n log n) 位来对 n 项进行排序。当在大小为 k 的数组上调用时,黑盒运行 (log k)a 步并返回大约 log k 位,速率约为 (log k)1 - a 每步位。该速率上限为 (log n)1 - a,因此显而易见的算法是渐近最优的。

关于algorithm - 使用黑盒 findmax 子程序进行排序的运行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6616325/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com