假设您运行输入大小为1000的O(log n)算法,算法需要110 操作。当您将输入大小加倍到2000时,算法现在需要120次操作。什么是 你再次将输入大小加倍到4000时所需操作次数的最佳猜测是什么?
答案 0 :(得分:4)
Big-O表示法用于表示算法在最坏情况下相对于输入大小的运行时间。它不会预测任何有关实际操作数的信息。它没有考虑低阶项和常数因子。
答案 1 :(得分:1)
解决方案中存在一个与运行时开销相对应的加性常量。以下假定结果是Ɵ(log n)而不仅仅是O(log n)。
如果你想进行广义预测,你可以继续并明确地求解常数,但基于两点这样做是非常可疑的。
答案 2 :(得分:0)
让f(n)
为运算次数的估算,只需将问题放入等式:
f(n) = c * log(n) // O(log n) algorithm
f(1000) = 110
f(2000) = 120
f(4000) = ?
查找c
,您就会找到答案。但是,当然,它只是基于给定数据和限制f
行为的最佳猜测估计。
由于多种原因,这不是一个准确的预测:
n
。