往年数据结构样卷

本试卷为往年数据结构样卷,题目包括:单项选择题。

本卷包括如下题型:

一、单项选择题

数据结构样卷

一、单项选择题 (共50题,每题2分,共计100分)

(  C  )
1、下列关于算法输出的叙述中,正确的是( )。
A、算法一定没有输出
B、算法可以没有输出
C、算法至少有一个输出
D、算法必须有多个
(  B  )
2、(4分)若栈采用链式存储结构,则下列说法中正确的是(B)。
A、需要判断栈满且需要判断栈空
B、不需要判断栈满但需要判断栈空
C、需要判断栈满但不需要判断栈空
D、不需要判断栈满也不需要判断栈空
(  A  )
3、(4分)栈结构通常采用的两种存储结构是(A)。
A、顺序存储结构和链表存储结构
B、散链方式和索引方式
C、链表存储结构和数组
D、线性存储结构和非线性存储结构
(  D  )
4、(3分)在散列查找中处理)冲突时,可以采用开放定址法。下列不是开放定址法的是(D) 。
A、线性探查法
B、二次探查法
C、双重散列法
D、拉链法
(  A  )
5、(4分)已知一个长度为13的有序表,按二分查找法对该表进行查找,在表内各元素等概率情况下,查找成功的平均查找长为(A)。
A、41/13
B、38/13
C、45/13
D、39/13
(  C  )
6、(3分)设有一组关键字(19.14, 23.1.6.20.4275.1109),用散列函数H(key)=key%13构造散列表,用拉链法解决冲突,散列地址为1的链中记录个数为(C) 。
A、1
B、2
C、3
D、4
(  D  )
7、设循环队列中数组的下标范围是0~n-1,其头尾指针分别为f和r,则其元素的个数为()。
A、r-f
B、r-f+1
C、(r-f)%n+1
D、(r-f+n)%n
(  C  )
8、以下说法正确的是()。
A、线性结构的基本特征是:每个结点有且仅有一个直接前驱和一个直接后继
B、线性表的各种基本运算在顺序存储结构上的实现均比在链式存储结构上的实现效率要低
C、在线性表的顺序存储结构中,插入和删除元素时,移动元素的个数与该元素位置有关
D、顺序存储的线性表的插入和删除操作不需要付出很大的代价,因此平均操作只有近一半的元素需要移动
(  B  )
9、给定排序码值序列为{F,B,J,C,E,A,I,D,C,H},对其按字母的字典序列的次序进行排列,快速排序的第一趟排序结果为
A、{B,F,C,J,A,E,D,I,C,H}
B、{C,B,D,C,E,A,F,I,J,H}
C、{B,F,C,E,A,I,D,C,H,J}
D、{A,B,D,C,E,F,I,J,C,H}
(  A  )
10、假设以行序为主序存储二维数组A=array[1...100,1...100],设每个数组元素占2个存储单元,基地址为10,则LOC[5,5]=
A、818
B、808
C、1010
D、1020
(  D  )
11、关于顺序表的说法不正确的是?
A、逻辑关系上相邻的两个元素在物理存储位置上也相邻
B、可以随机存取表中任一元素,方便快捷
C、在线性表中插入某一元素时,往往需要移动大量元素
D、在线性表中删除某一元素时,无需移动大量元素
(  C  )
12、在一个图中,所有顶点的度数之和等于所有边数的( )倍
A、1212122020年1月2日
B、1
C、2
D、3
(  B  )
13、通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着( )。
A、数据具有同一特点
B、不仅数据元素所包含的数据项的个数要相同,而且对应数据项的类型要一致
C、每个数据元素都一样
D、数据元素所包含的数据项的个数要相等
(  D  )
14、下面程序段的时间复杂性的量级为()。Int fun(int n){I=1,s=1;While(s
A、O(n/2)
B、O(logn)
C、O(n)
D、O(n1/2)
(  D  )
15、下面程序段的时间复杂性的量级为()For (i=1;i<=n;i++) For(j=1;j<=I;j++) For(k=1;k<=j;k++) x=x+1;
A、O(1)
B、O(n)
C、O(n2)
D、O(n3)
(  D  )
16、假定利用数组A[N]顺序存储一个栈,top表示栈顶指针,已知栈未满,则x入栈时所执行的操作是( )。
A、a[--top]=x;
B、a[top--]=x
C、a[++top]=x
D、a[top++]=x
(  B  )
17、设有两个串p和q,求p和q首次出现的位置的运算称作( )
A、连接
B、模式匹配
C、求子串
D、求串长
(  D  )
18、表长为n的顺序存储的线性表,当在任意位置上插入或删除一个元素的概率相等时,插入一个元素所需移动元素的平均个数为(D、 ),删除一个元素需要移动元素的平均个数为( )
A、(n-1)/2
B、n
C、(n+1)/2
D、n/2
(  C  )
19、设一个顺序有序表A[1:14]中有14个元素,则采用二分法查找元素A[4]的过程中比较元素的顺序为( )。
A、A[1],A[2],A[3],A[4]
B、A[1],A[14],A[7],A[4]
C、A[7],A[3],A[5],A[4]
D、A[7],A[5] ,A[3],A[4]
(  C  )
20、数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为( )。
A、存储结构
B、逻辑结构
C、顺序存储结构
D、链式存储结构
(  B  )
21、下列算法suanfa1中语句"x=x*2;"的执行次数是( )。
void suanfa1(int n)
{ int i,j,x=1;
for(i=1;i<=n;i++)
for(j=i;j<=n;j++)
x=x*2;
printf("%d",x);
}
A、n(n-1)/2
B、n(n+1)/2
C、n2
D、nlog2n
(  C  )
22、设指针变量front表示链式队列的队头指针,指针变量rear表示链式队列的队尾指针,指针变量s指向将要入队列的结点X,则入队列的操作序列为( )。
A、front->next=s;front=s;
B、s->next=rear;rear=s;
C、rear->next=s;rear=s;
D、s->next=front;front=s;
(  A  )
23、下列程序段的时间复杂度为( )。
for(i=0; i
A、O(m*n*t)
B、O(m+n+t)
C、O(m+n*t)
D、O(m*t+n)
(  C  )
24、下面叙述正确的是( )。
A、算法的执行效率与数据的存储结构无关
B、算法的空间复杂度是指算法程序中指令(或语句)的条数
C、算法的有穷性是指算法必须能在执行有限个步骤之后终止
D、以上三种描述都不对
(  C  )
25、以下排序方法中,( )不需要进行关键字的比较。
A、快速排序
B、归并排序
C、基数排序
D、堆排序
(  D  )
26、链表的特点是利用( )来表示数据元素之间的逻辑关系。 (3.0分)
A、下标
B、结点
C、数据域
D、地址域
(  C  )
27、含n个顶点的连通图中的任何一条简单路径,其长度不可能超过( )。 (4.0分)
A、1
B、n/2
C、n-1
D、n
(  C  )
28、二叉树的深度为k,则二叉树最多有( )个结点。 (3.0分)
A、2k
B、2k-1
C、2k -1
D、2k-1
(  D  )
29、下面叙述正确的是( )。
A、二叉树可能不是树
B、二叉树等价于度为2的树
C、完全二叉树必为满二叉树
D、二叉树的左右子树有次序之分
(  C  )
30、下面程序段的时间复杂度为( )。 i=1; while(i<=n) i=i*3;
A、O(n)
B、O(3n)
C、O(log3n)
D、O(n3)
(  A  )
31、队列的插入操作是在( )。
A、队尾
B、队头
C、队列任意位置
D、队头元素后
(  B  )
32、采用稀疏矩阵的三元组表形式进行压缩存储,若要完成对三元组表进行转置,只要将行和列对换,这种说法( )。
A、正确
B、错误
C、无法确定
D、以上均不对
(  D  )
33、对广义表L=((a,b),((c,d),(e,f)))执行head(tail(head(tail(L))))操作的结果是( )。
A、f
B、e
C、(e)
D、(e,f)
(  D  )
34、二叉数有1000个结点,它的深度至少为( )。
A、7
B、8
C、9
D、10
(  C  )
35、用链接方式存储的带头结点的队列,在进行插入运算时
A、仅修改头指针
B、头、尾指针都要修改
C、仅修改尾指针
D、头、尾指针可能都要修改
(  B  )
36、如果让元素1,2,3,4,5,6,7依次进栈,则出栈次序不可能出现( )的情况
A、1,2,3,4,5,6,7
B、7,6,1,4,3,2,5
C、3,2,1,4,5,6,7
D、1,2,3,4,5,7,6
(  A  )
37、数据的最小单位是( )。
A、数据项
B、数据类型
C、数据元素
D、数据变量
(  A  )
38、已知一组关键字为 (19,14,23,1,68,20,84,27,55,11,10,79),散列函数H(key)=keyi%13,用链地址法处理冲突,则这些单链表中,具有最多结点数的链表的结点数是( )?
A、4
B、5
C、6
D、7
(  C  )
39、数据的运算定义在数据的逻辑结构上,只有确定了( ),才能具体实现这些运算。 (5.0分)
A、数据对象
B、逻辑结构
C、存储结构
D、数据操作
(  D  )
40、用二分查找法查找具有n个结点的顺序表时,查找每个结点的平均比较次数是( )。 (5.0分)
A、O(n2)
B、O(nlgn)
C、O(n)
D、O(lon)
(  A  )
41、线性表的顺序存储结构是一种( )的存储结构,线性表的链式存储结构是一种( )存储结构。
A、随机存取
B、顺序存取
C、索引存取
D、散列存取
(  D  )
42、*给定排序码值序列为{F,B,J,C,E,A,I,D,C,H},对其按字母的字典序列的次序进行排列,希尔( Shell )排序的第一趟(d1=5)结果应为( )。
A、{B,F,C,J,A,E,D,I,C,H}
B、{C,B,D,A,E,F,I,C,J,H}
C、{B,F,C,E,A,I,D,C,H,J}
D、{A,B,D,C,E,F,I,J,C,H}
(  A  )
43、顺序查找不论在顺序线性表中还是在链式线性表中的时间复杂度为( )。(1分)
A、O(n)
B、O(n^2)
C、O(n^1/2)
D、O(1og2n)
(  C  )
44、两类存储结构为( )
A、线性结构和非线性结构
B、逻辑结构和非逻辑结构
C、顺序结构和链式结构
D、逻辑结构和物理结构
(  D  )
45、分析以下程序段,其时间复杂度为 T(n)=( ) i=1;While(i<=n) i=3*i;
A、O(n)
B、O(n^2)
C、O(n^3)
D、O(1)
(  D  )
46、判定一个非循环的顺序队列 Q(最多元素为 MAXSIZE)为满队列的条件是( )
A、Q->rear - Q->front = = MAXSIZE
B、Q->rear - Q->front -1= = MAXSIZE
C、Q->front = = Q->rear
D、Q->rear== MAXSIZE-1
(  D  )
47、数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素的公式为( )
A、r-f
B、(n+f-r) n
C、n+r-f
D、(n+r-f) n
(  B  )
48、在一棵具有 35 个结点的完全二叉树中,该树的深度为( )
A、5
B、6
C、7
D、8
(  D  )
49、在一棵深度为 k 的完全二叉树中,所含结点个数至少( )
A、2^k
B、2^k+1
C、2^k-1
D、2^k-1
(  B  )
50、已知某二叉树的前序遍历序列是 ABDEFGC,中序序列是 DEBGFAC,则对应的二叉树为( )图 A 图 B 图 C 图 D
A、图 A
B、图 B
C、图 C
D、图 D