【发布时间】:2017-12-18 07:05:51
【问题描述】:
我可以在我的 Windows 计算器中输入一个数学公式来计算嵌套循环的时间成本吗?
根据我的阅读,我看到了 O(n) 之类的东西,但我不知道如何将其放入计算器中。
我有一个 300 级的嵌套循环,每个循环级别将从 0 到 1000
原来是这样的:
for i as integer =0 to 1000
{
//300 more nested loops, each goes from 0 to 1000
}
我假设 1 个完整的循环需要 1 秒(即从最顶层循环到最内层循环的 300 个级别需要 1 秒)。
我怎样才能知道完成整个循环操作需要多少秒?
谢谢
【问题讨论】:
-
如果嵌套 301 个循环,每个循环有 1001 个步骤,最里面的代码将运行 1.3510061352833213568150396557293666843498038319887390... × 10^903 次。在你取得任何显着进展之前,宇宙就会结束。 (基本上,当宇宙走到尽头时,你将处于 0.000000000000000... % 完成度。)
-
@AndreasRejbrand 哈哈哈,实际上这就是我想要弄清楚的......我的嵌套循环是否会在宇宙的有生之年完成。但它肯定会在某个时候结束。你能指出一个方程式,我可以用它来准确地告诉我需要多少秒吗?我正在使用大数据计算器,所以我认为它可以处理大量数字
-
代码运行次数为1001^301。如果代码需要 t 秒完成,总运行时间将不小于 1001^301 t 秒。
-
@AndreasRejbrand 太好了!,谢谢...您应该将其发布为答案,以便我接受 :)
标签: loops math computer-science