8个回答

如何写出时间复杂度增长最快的算法?O(n!)算是最快的吗?

知乎用户048772
21个点赞 👍

时间复杂度没有上限。

你若说 f(n) 最快,那我自然可以编一个程序,在输入 n 之后空循环 f(n)^2 步,矛盾。事实上,对于任何可计算函数 f(n)都存在 \Omega(f(n)) 算法,因为算法只需要算出 f(n) 然后空循环这么多步就可以了。

但另一个方向,也确实存在任何时间复杂度的增长都赶不上的函数。

若「算法」的定义代表它在任何输入下都不进入死循环,那么它的时间复杂度本身也是可计算的,这就注定了它永远超不过比如「忙碌海狸函数」这类函数。我的文章最后有提到这个函数:

编辑于 2023-07-24 10:14・IP 属地辽宁
开闸放水
自由评论 (0)
分享
Copyright © 2022 GreatFire.org