Time complexity while循环内嵌套for循环的时间复杂度
如果while循环中有嵌套的for循环,如下所示:Time complexity while循环内嵌套for循环的时间复杂度,time-complexity,Time Complexity,如果while循环中有嵌套的for循环,如下所示: while(condition) for(i=0; i<size; i++) while(条件) for(i=0;i如果每次执行for循环时,您的意思是每次while(condition)触发新的for循环运行时,则时间复杂度为 也就是说,如果你在内部for循环中增加一个计数器,它将被增加=n选择2倍。但是因为在大O表示法中省略了常量因子和低阶项,我们可以直接写 用于说明,请考虑此Python 2.7实现(我将外部转换为循环+大小
while(condition)
for(i=0; i<size; i++)
while(条件)
for(i=0;i如果每次执行for循环时,您的意思是每次while(condition)
触发新的for
循环运行时,则时间复杂度为
也就是说,如果你在内部for循环中增加一个计数器,它将被增加=n选择2倍。但是因为在大O表示法中省略了常量因子和低阶项,我们可以直接写
用于说明,请考虑此Python 2.7实现(我将外部<代码>转换为循环+<代码>大小< /代码>增量为for循环):
输出:
0
0 1
0 1 2
0 1 2 3
0 1 2 3 4
0 1 2 3 4 5
0 1 2 3 4 5 6
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7 8
counter = 45
n choose 2 = 45
试着用不同的n值运行它,看看公式是否成立
0
0 1
0 1 2
0 1 2 3
0 1 2 3 4
0 1 2 3 4 5
0 1 2 3 4 5 6
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7 8
counter = 45
n choose 2 = 45