算法的主运算如下,其中i的初值为1,s的初值为0,“←”为赋值号。 while i<n do { for j←1 to n do s←s+a[i,j] i←i*2; 则该算法的时间复杂度为 ( )A.O(2n)B.O(n+log2n)C.O(nlog2n)D.O(n2)

题目

算法的主运算如下,其中i的初值为1,s的初值为0,“←”为赋值号。 while i<n do { for j←1 to n do s←s+a[i,j] i←i*2; 则该算法的时间复杂度为 ( )

A.O(2n)

B.O(n+log2n)

C.O(nlog2n)

D.O(n2)


相似考题
更多“算法的主运算如下,其中i的初值为1,s的初值为0,“←”为赋值号。while i<n do{ for j←1 to n dos←s+a[ ”相关问题
  • 第1题:

    对于以下语句,表述正确的是 int i , j = 5 ;

    A.i 没有被赋初值,j 的初值为5

    B.i 和 j 的初值均为 5

    C.i 的初值为0,j 的初值为5

    D.i 和 j 的初值均为 0


    i 没有被赋初值,j 的初值为5

  • 第2题:

    分析下面语句段执行的时间复杂度。 (1)for (int i=0; i<n; ++i) { ++p; } (2) for (int i<0; i<n; ++i) { for (int j =0; j<m; ++j) { ++p; } } (3) i = 1; while(i <= n) { i *= 3; } (4) int i = 1; int k = 0; do { k = k+10*i; ++i; } while(i!=n);


    (1)O(1) (2)O(nm) (3) (4) (5) (6)

  • 第3题:

    在数组A[0,1,……,n-1]中查找给定值K的算法大致如下: i=n-1; While(i>=0&&(A[i]!=k)) i--; return i; 该算法的时间复杂度为 () A O(n) B 无法确定 C O(n-i) D O(n-i+1)


    O(n)

  • 第4题:

    根据下列算法判断正确的是: Step1:对循环控制变量i赋初值,n赋初值为0; Step2:判断i>10是否成立,若成立,则执行step3,否则执行Step4; Step3:循环控制变量i加1,n=i再转到step2; Step4:输出n。

    A.若i的初值为1,则最终输出结果n=10。

    B.若i的初值为0,则最终输出结果n=9。

    C.若i的初值为1,则最终输出结果n=9。

    D.若i的初值为1,则最终输出结果n=0。


    若 i 的初值为 1 ,则最终输出结果 n=0 。

  • 第5题:

    下面两个程序段中,变量sum与i的初值均相同,在()情况下,两个程序段的执行结果不同。 (1)while(i<=10) (2)do { { sum+=i; sum+=i; i++; i++; } }while(i<=10) ;

    A.i的初值大于10

    B.i的初值小于10

    C.任意条件

    D.sum的初值为0


    i 的初值大于 10