回 帖 发 新 帖 刷新版面

主题:一层for循环与二层for循环复杂度的区别

今天看了,数据结构里面的for循环。当for(i=0;i<n;i++)\\此时i的空间复杂度为n+1; 
当for(i=0;i<n;i++)\\复杂度为n(为什么这里不是n+1呢) 
    for(j=0;j<n;j++)\\复杂度为n+1 
 总的复杂度为n(n+1)(为什么不是n(n+1)+1呢) 
希望明白的人能给讲解讲解。

回复列表 (共1个回复)

沙发

for(i=0;i<n;i++)循环控制变量i要从0增加到n,测试的i=n才会终止,故他的频度n+1,
for(i=0;i<n;i++) 1
   for(j=0;j<n;j++) 2
虽然1语句的频度为n+1但是他的循环语句只执行了n次,所以此处他的复杂度为n,语句2同一次循环

我来回复

您尚未登录,请登录后再回复。点此登录或注册