关于不同范围嵌套for循环的时间复杂度咨询
代码时间复杂度分析
这段代码的时间复杂度确实是O(n²),原因如下:
- 外层循环一共执行
n次,range(0,n)会遍历0到n-1的所有整数,总共n个元素。 - 内层循环每次执行
n-2次,当n的规模不断增大时,常数2对整体的增长趋势几乎没有影响。 - 时间复杂度的核心是看n增大时的增长量级,按照大O表示法的规则,我们只保留最高阶项,忽略低阶项和常数系数。这里n*(n-2)展开后是n²-2n,去掉低阶的2n和常数,最终的时间复杂度就是O(n²)。
对应的代码:
for i in range(0,n): for j in range(0,n-2): //code in constant time
内容的提问来源于stack exchange,提问作者Abc Def
相关产品推荐
相关产品推荐

