向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动 的元素个数为 ( )。
A.8 B.63.5 C.63 D.7
算法的时间复杂度取决于( )。
A.问题的规模 B.待处理数据的初态
C.计算机的配置 D.A和B
程序段
for (i = n-1; i >= 1; i--)
for (j = 1; j <= i; j++)
if (a[j] > a[j+1])
{temp=a[j]; a[j]=a[j+1]; a[j+1] = temp;}
其中n为正整数,则最后一行的语句频度在最坏的情况下是( )。
A)O(n) B)O(nlogn) C)O(n*n*n) D)O(n*n)
下面程序段的时间复杂度为()。
i=1;
while(i<=n)
i=i*3;
(A) O(n) (B) O(3n)
(C) O(log3n) (D) O(n3)
A)最坏情况下的时间复杂度一定高于平均情况的时间复杂度
B)时间复杂度与所用的计算工具无关
C)对同一个问题,采用不同的算法,则它们的时间复杂度是相同的
D)时间复杂度与采用的算法描述语言有关
2100,(3/2)n , (2/3)n , (4/3)n按增长率从小到大的顺序排列正确的是()
A. 2100,(3/2)n , (2/3)n , (4/3)n
B. (3/2)n , (2/3)n , (4/3)n,2100
C. (2/3)n , 2100,(3/2)n , (4/3)n
D. (2/3)n , 2100, (4/3)n,(3/2)n
算法分析的两个主要方面是()。
(A) 空间复杂度和时间复杂度
(B) 正确性和简明性
(C) 可读性和文档性
(D) 数据复杂性和程序复杂性
在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是( )。
A.访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)
B.在第i个结点后插入一个新结点(1≤i≤n)
C.删除第i个结点(1≤i≤n)
D.将n个结点从小到大排序
在下面的程序段中,对x的赋值语句的频度为( )。
for (i = 1; i <= n; i++)
for (j = 1; j <= n; j++)
x = x+1;
A)O(2n) B)O(n) C)O(n2) D)O(logn)
算法的计算量的大小称为计算的( )。
A)效率 B)复杂性 C)现实性 D)难度
设 n 为正整数,利用大 “O(·) ”记号,将下列程序段的执行时间表示为 n 的函数,则下面 程序段的时间复杂度为 。
k=0;
while(i<n)
{
k=k+10*i;
i++;
}
一个算法的效率可分为效率和效率。
下程序段的时间复杂度
x=90; y=100;
while(y>0)
if(x>100)
{x=x-10;y--;}
else x++;
for(i=1,t=1,s=0;i<=n;i++){t=t*i;s=s+t;}的时间复杂度为。
下面程序段的时间复杂度为(n>1)。
for (i=1;i<=n;i++)
for (j=1;j<=i;j++)
x=x+1;
算法时间复杂度的分析通常有两种方法,即和的方法,通常我们对算法求时间复杂度时,采用后一种方法。
i=1;while(i<=n){i=i*3;}的时间复杂度为
数据结构中评价算法的两个重要指标是和。
算法的计算量的大小称为计算的
有实现同一功能的两个算法A1和A2,其中A1的时间复杂度为T1=O(2n),A2的时间复杂度为T2=O(n2),仅就时间复杂度而言,请具体分析这两个算法哪一个好。