数据结构时间复杂度
执行下面程序段时,执行S语句的次数为()。 for (int i=1;i<=n;i++) for(int j=1;j<=i;j++) S;
分析第一个for循环语句执行一次的过程: 进入第一个for循环,判断若i小于n,执行第二个for循环,判断若j小于i,执行S语句,S语句执行完毕,返回第二个for循环,j的值加1,继续判断j是否小于或等于i,若j满足小于或等于i的条件,继续执行S语句,直到j大于i,退出第二个for循环,返回第一个for循环,i的值加1,此时第一个for循环的一次执行过程结束。 接着,判断i的值是否满足i小于或者等于n的条件,若满足,进入第一个for循环下一次的循环,若不满足,退出第一个for循环的循环结束。 从以上的执行过程可以知道,执行S的次数为1,2,3……n,所以次数和为n(n+1)/2
答:这个题不难 给你一个相似的例子,你照着来吧 一个特定算法的“运行工作量”的大小,只依赖于问题的规模(通常用整数量n表示),或者说,它是问题规模的函数。假如,随着...详情>>
答:详情>>