【发布时间】:2016-09-22 10:55:17
【问题描述】:
for(i=0; i<n; i++) // time complexity n+1
{
k=1; // time complexity n
while(k<=n) // time complexity n*(n+1)
{
for(j=0; j<k; j++) // time complexity ??
printf("the sum of %d and %d is: %d\n",j,k,j+k); time complexity ??
k++;
}
上述代码的时间复杂度是多少?我停留在第二个(for),我不知道如何找到时间复杂度,因为 j 小于 k 并且不小于 n。
我总是遇到与时间复杂度相关的问题,你们有什么好的文章吗? 特别是关于步数和循环。
【问题讨论】:
-
复杂性在哪种情况下,最好的,最坏的,等等?
-
@WaqasShabbir 这有什么关系?据我所知,唯一的输入是
n。 -
最糟糕的复杂性。我知道唯一的输入是 n,但第二个 for 取决于 k 而不是 n。
-
它将是
n*n*n,最后一个循环也通过k与n相关
标签: algorithm time-complexity nested-loops