系列文章目录
波波的数据结构属实上的快,这里将会写些pta的解析,算是复习 预习,帮助我与大家期末不挂科
概论
一、选择题
2-1
下面程序段的时间复杂度是(B )。
for( i =0; i<n; i++)
for(j=0;j<m;j++)
A[i][j] = 0;
A.O(2n)
B.O(n*m)
C.O(n^2)
D.O(logn)
解析: 两个循环n次与m次相乘
2-2
For the following piece of code the time complexity is:(D)
for(i=0; i<n; i++)
for(j=i; j>0; j/=2)
printf(“%d\n”, j);
A.O(N×i)
B.O(N)
C.O(N^2)
D.O(NlogN)
解析: 第一个循环为n 第二个循环为logN
2-3
要判断一个整数N(>10)是否素数,我们需要检查3到√N之间是否存在奇数可以整除N。则这个算法的时间复杂度是:©
A.O(N/2)
B.O(√NlogN)
C.O(√N)
D.O(0.5logN)
解析: 检查√N-3次 时间复杂度不计算常数
2-4
下列代码的时间复杂度是:(B)
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;
}
解析: 时间复杂度计算大的那一个 第一个循环时间复杂度为n^4,第二个为n*n
2-5
下面的程序段违反了算法的(A)原则
void sam()
{ int n=2;
while (n%2==0) n+=2;
printf(“%d”,n);
}
A.有穷性
B.确定性
C.可行性
D.健壮性
2-6
数据在计算机内存中的表示是指(A) 。
A.数据的存储结构
B.数据结构
C.数据的逻辑结构
D.数据元素之间的关系
2-7
算法分析的两个主要方面是(A)。
A.空间复杂性和时间复杂性
B.正确性和简明性
C.可读性和文档性
D.数据复杂性和程序复杂性
2-8
在数据结构中,与所使用的计算机无关的数据结构是(A)。
A.逻辑结构
B.存储结构
C.逻辑结构和存储结构
D.物理结构
解析:数据结构概念一般包括3个方面的内容,数据的逻辑结构、存储结构及数据上的运算集合。数据的逻辑结构反映数据元素之间的逻辑关系,而不管它在计算机中的存储表示形式
2-9
下面程序的时间复杂度为(C)。
for(i = 0; i < m; i++)
for(j = 0; j < n; j++ )
A[i][j] = i*j;
A.
O(m^2 )
B.O(n^2)
C.O(m × n)
D.O(m + n)
解析:两循环 第一个m次 第二个n次
2-10
某算法的时间复杂度是O(n^2),表明该算法的(D )。
A.问题规模是n^2
B.问题规模与n^2成正比
C.执行时间等于n^2
D.执行时间与n^2成正比
解析:问题规模为n 时间复杂度指的是运行时间的正比
2-11
设 n 是描述问题规模的非负整数,下列程序段的时间复杂度是:
下面程序段的时间复杂度是(B )。
x = 0;
while ( n >= (x+1)*(x+1) )
x = x+1;
A.O(logn)
B.O(n^1/2)
C.O(n)
D.O(n^2)
解析: 在大于√n次后将停止循环所以时间复杂度为O(n^1/2)
2-12
下面程序段的时间复杂度是 ( D)
i = 0;
while(i<=n)
i = i * 3;
A.O(2n)
B.O(n)
C.O(n^2 )
D.O(log3n)
解析:同上题
2-13
下列函数中,哪两个函数具有相同的增长速度:(D)
A.2^N和NN
B.N和2/N
C.NNlogN和NlogNN
D.NlogNN和NlogN
解析:根据数学知识,D选项相差2倍,但时间复杂度中倍数可以忽略
2-14
下列函数中,哪个函数具有最快的增长速度?(C)
A.N^2 logN
B.N(logN)^4
C.N^3
D.NlogN^2
2-15
给定程序时间复杂度的递推公式:T(1)=1,T(N)=2T(N/2)+N。则程序时间复杂度是:©
A.O(logN)
B.O(N)
C.O(NlogN)
D.O(N^2)
解析:由时间代价严格推出时间复杂度比较复杂,对于这种题,可用特例验证,不过需要注意的是特例不能取太少,至少n取到5,这样规律基本就可以确定了。
T(1)=1
T(2)=2T(1)+2=4
T(3)=2T(1)+3=5
T(4)=2T(2)+4=12
T(5)=2T(2)+5=13
很容易排除D选项,其递增速率介于O(n)和O(n2)之间,故选C
2-16
计算机所处理的数据一般具有某种关系,这是指(B )。
A.数据与数据之间存在的某种关系
B.数据元素与数据元素之间存在的某种关系
C.元素内数据项与数据项之间存在的某种关系
D.数据文件内记录与记录之间存在的某种关系
2-17
算法分析的目的是( C)。
A.找出数据结构的合理性
B.研究算法中的输入和输出的关系
C.分析算法的效率以求改进
D.分析算法的可读性和简明性
2-18
以下关于数据结构的说法中正确的是_A___。
A.数据结构的逻辑结构独立于其存储结构
B.数据结构的存储结构独立于该数据结构的逻辑结构
C.数据结构的逻辑结构唯一地决定了该数据结构的存储结构
D.数据结构仅由其逻辑结构和存储结构决定
2-19
连续存储设计时,存储单元的地址( )。
A.一定连续
B.一定不连续
C.不一定连续
D.部分连续,部分不连续
解析:垃圾题 A和C在不同情况都对
2-20
可以用( D)定义一个完整的数据结构。
A.数据元素
B.数据对象
C.数据关系
D.抽象数据类型