1.求以下程序段的时间复杂度。(写出必要的计算步骤)sum

作者&投稿:养胁 (若有异议请与网页底部的电邮联系)
给出下面几个C语言程序段的时间复杂度。要求写出计算过程 ,谢谢了,在线等。~

求时间复杂度只需找出执行次数最多的那条语句。
对于第一个,设执行次数为k,则i最终等于k^5=n; 解出k即可;
对于第二个,设执行次数为k,则最终有k^2=n;解出k;
对于第三个,if语句执行n/3次,单独看里面的for执行(n-n/3)次,结合if语句,则最终有
(n-n/3)*n/3 ,时间复杂度一眼便知

代码每一步实际执行的次数,自己数一下

sum=0;for(inti=l;i<=n;i++)for(intj=l;i<=n;j++)sum++;
程序执行的频次为:
1+2+...+n=n(n+1)/2
时间复杂度为:O(n^2)


求下列程序段时间复杂度,请写出分析过程
1^2+2^2+...+(N-1)^2=N*(N-1)*(2*N-1)\/6 可得时间复杂度是:O(N^3)

求以下程序段的时间复杂度T(n)=
n^2

下面程序段的时间复杂度是
这个程序是死循环,不能正常运行的。i = 1;while(i<=N)i = i * 3;它的时间复杂度是O(Log3(N))

c语言选择题求助:以下程序段的运行结果是()。 struct
选A 执行for循环后s[].a={5,7,9,11} p=&s[1];说明p指向了s[1],即p->a=7;执行printf("%d,",(++p)->a);等价于执行printf("%d,",(p+1)->a);即输出9 执行printf("%d,",(p++)->a);等价于执行printf("%d,",(p)->a);即输出9因为此时p指向了s[2]ps: (++p)->a...

以下程序段的输出结果是( )求过程!!! #include<stdio.h> void main...
i = 1, j = 7, m = 2;i = 1, j = 11, m = 3;i = 1, j = 15, m = 4;i = 1, j = 19, m = 5;i = 5, j = 3, m = 6;i = 5, j = 7, m = 7;i = 5, j = 11, m = 8;i = 5, j = 15, m = 9;i = 5, j = 19, m = 10;最后输出10...

求解数据结构 执行下面程序段时,S 语句的执行次数为( n(n-1)\/2...
i=1,执行n-1次 i=2,执行n-2次 ……i=n-1,执行1次,加起来就行了

以下程序段的运行结果是( ). int m[]={4,9,10,6,13,5},i=1; do{ m...
m[]={4,9,10,6,13,5} m[0]=4 ,m[1]=9 ,m[2]=10 ,m[3]=6 ,m[4]=13, m[5]=5 i=1 循环为9-2=7,10-2=8,6-2=4,为4时不再循环。所以,4,7,8,4,13,5

下列程序段的运行结果是(   )     求详细解答...
1233。所以循环语句可以看成:do { printf("%2d",x);x=x-1;}while(!x) ;x=1233 大于 0 即真 等于 1。 所以 !x 等于 0, while 循环结束。(输出格式 %2d 是 输出整型数占2位。但 c\/c++语言 另有规定,当给的占位数不够数据用时,按数的实际需要 占位 输出。)

写出以下程序段的运行结果。请注意,直接填数字或者字符,前后不要加空...
判断条件和循环体中都用了getchar()接收字符 而putchar是紧跟在循环判断条件后的,所以金属出判断时getchar时的输入,也就是第1,3,5次的字符的输入结果,第七次输入的是#,不符合循环条件,直接退出循环了

求VB大神帮忙解释下以下程序段的含义
这是混淆后的VB代码,不是源代码,你当然看不太明白,变量名都已经被替换了。Dim var_8C As MSComm 就是普通的声明一个类型为mscomm的变量(从下面看这个应该是个串口)

洛龙区17366907434: 求下列各程序段的时间复杂度.(1)i=1,k=2,n=10;while(i -
倚树弥凝:[答案] (1)中while的条件是i

洛龙区17366907434: 求下列程序段的时间复杂度 k=1; while(k -
倚树弥凝:[答案] log3(n) 时间复杂度一般来说就是最高次幂的执行数量.这里执行的数量和n的关系是log3(n)

洛龙区17366907434: 求下列程序段的时间复杂度: -
倚树弥凝: 对每个i,j从1到i执行了i次,而i从2运行到n,总共执行次数为2+3+...+n=n(n+1)/2-1 时间复杂度为θ(n^2)

洛龙区17366907434: 下面程序段的时间复杂度是①.for(i=0;i
倚树弥凝:[答案] m*n for(j=0;j
洛龙区17366907434: 求下列程序段时间复杂度,请写出分析过程 -
倚树弥凝: 外循环执行N次,而每次内循环执行i^2次,所以时间复杂度是: O(1^2+2^2+...+(N-2)^2+(N-1)^2) 再利用公式: 1^2+2^2+...+(N-1)^2=N*(N-1)*(2*N-1)/6 可得时间复杂度是:O(N^3)

洛龙区17366907434: 求下列程序的时间复杂度def f(a,b):c=0for i in a:if i in b:c=c+1if =0:print '有重复数字'else:print'无重复数字'f([1,2,3],(4,5,6)) -
倚树弥凝:[答案] 就一个for循环,时间复杂度就是O(N)呗,如果是嵌套循环就是O(N^2),其余过程的时间消耗可以忽略不计

洛龙区17366907434: 写出下面程序段的时间复杂度. (1) i=1;k=0; while(i<n) {k=k+10*i;i...
倚树弥凝:[答案] 时间复杂度是O(n^2),因为有两层互不相关的循环.

洛龙区17366907434: 以下程序段的时间复杂度为. for(i=0;i<n;i++) for(j=0;j<n;j++) A[i][j...
倚树弥凝: O(n)

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网