数据结构作业3-算法时间复杂度与空间复杂度

1-1
100logN是O(N)的。 (1分)

T
F

不明白为什么是正确的,感觉应该是错误的

1-2
2^N^和N^N^具有相同的增长速度。 (2分)

T
F

1-3
对于某些算法,随着问题规模的扩大,所花的时间不一定单调增加。 (1分)

T
F

1-4
(NlogN)/1000是O(N)的。 (1分)

T
F

1-5
N^2^logN和NlogN^2^具有相同的增长速度。 (2分)

T
F

1-6
在任何情况下,时间复杂度为O(n^2^) 的算法比时间复杂度为O(n*logn)的算法所花费的时间都长。 (1分)

T
F

1-7
算法分析的两个主要方面是时间复杂度和空间复杂度的分析。 (1分)

T
F

2-1
要判断一个整数N(>10)是否素数,我们需要检查3到√N之间是否存在奇数可以整除N。则这个算法的时间复杂度是:(2分)

O(0.5logN)
O(√NlogN)
O(√N)
O(N/2)

2-2
下面代码段的时间复杂度是()。 (2分)

x=0;  
for( i=1; i<n; i++ )  
    for ( j=1; j<=n-i; j++ )  
        x++;

O(2^n^)
O(n^3^)
O(n^2^)
O(n)

2-3
下列函数中,哪个函数具有最慢的增长速度:(2分)

N(logN)^2^
N^2^logN
NlogN^2^
N^1.5^

2-4
下面代码段的时间复杂度是()。(2分)

x=n; //n>1
y=0;
while( x≥(y+1)*(y+1) )
    y++;  

O(n)
O(n^1/2^)
O(log2n)
O(1)

2-5
下列代码

if ( A > B ) {
    for ( i=0; i<N*N/100; i++ )
        for ( j=N*N; j>i; j-- )
            A += B;
}
else {
    for ( i=0; i<N*2; i++ )
        for ( j=N*3; j>i; j-- )
            A += B;
}

的时间复杂度是:(2分)

O(N^6^)
O(N^5^)
O(N^4^)
O(N^3^)

2-6
下列函数

int func ( int n )
{   int i = 0, sum = 0;
    while ( sum < n )  sum += ++i;//等差数列求和1+2+...=n
    return i;
}

的时间复杂度是:(2分)
O(n)
O(nlogn)
O(n^1/2^)
O(logn)

2-7
给定N×N×N的三维数组A,则在不改变数组的前提下,查找最小元素的时间复杂度是:(2分)
O(N^3^)
O(N^3^logN)
O(NlogN)
O(N^2^)

2-8
下列代码

for(i=0; i<n; i++)
  for(j=i; j>0; j/=2)//等比数列
     printf(“%d\n”, j);

的时间复杂度是: (3分)
O(NlogN)
O(N^2^)
O(N)
O(N x i)

2-9
计算机算法指的是()。 (2分)

调度方法
解决问题的有限运算序列
排序方法
计算方法

2-10
计算机算法必须具备输入、输出和()等五个特性。 (2分)

易读性、稳定性和安全性
确定性、有穷性和稳定性
可行性、确定性和有穷性
可行性、可移植性和可扩充性

    原文作者:南山i
    原文地址: https://www.cnblogs.com/Jie-Fei/p/10132557.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注