【发布时间】:2016-12-01 19:20:30
【问题描述】:
谁能告诉我以下代码的复杂性并解释计算?
int count=0;
for(int i=0; i<n;i++)
for(int j=i; j<n;j++)
for(int k=j;k>i;k--)
count++;
谢谢
【问题讨论】:
-
可以吗?是的,但他们不适合在这个网站上这样做。 (人们不喜欢在这里被要求为其他人做作业)
-
我没有要求任何人做作业,我只是需要一些帮助
-
确实感觉像是做作业。这里有一个提示:计算嵌套循环的数量。找出答案至关重要。
-
直觉说是 n^3。
-
好吧,我确实尝试过计数并通过打印 i j k 和计数器实际运行了一些测试,对于 n=4 计数器是 10,对于 n=5 计数器是 20,对于 n=10 计数器是 165 . 它肯定小于 n^3,只是由于某种原因,第三个循环在我看来小于 n……有什么建议吗?
标签: c data-structures time-complexity big-o