往年数据结构复习题

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

本卷包括如下题型:

一、单项选择题

数据结构复习题

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

(  B  )
1、算法的计算量的大小称为计算的(  )。
A、效率
B、复杂性
C、现实性
D、难度
(  C  )
2、下列数据中,( C )是非线性数据结构。
A、栈
B、队列
C、完全二叉树
D、堆
(  C  )
3、高度为 K 的二叉树最大的结点数为( )
A、2k
B、2k-1
C、2k -1
D、2k-1-1
(  A  )
4、下列查找方法中,查找较快,且插入和删除操作也比较方便的查找方法是(A) 。
A、分块查找
B、二分查找
C、顺序查找
D、折半查找
(  B  )
5、给定一段文本中的4个字符(u, v, w. x)及其出现频率(fu, fv, fw, fx) ,若对应的哈夫曼编码为u:00, v:010,w:011, x:1,则下列哪组频率可能对应(fu, fv, fw. fx) ? (B)。
A、15, 23,16,45
B、30,12, 20,33
C、41,12,20, 32
D、55, 22, 18,46
(  C  )
6、(3分)设深度为K的二叉树.上只有度为0和度为2的结点,则此类-二叉树中所包含的结点数至少为(C)。
A、K+1
B、2K+1
C、2K-1
D、2K
(  C  )
7、(4分)在一个长度为n的顺序表中插入一个元素的算法的时间复杂度为(C) 。
A、0(1)
B、O(log2n)
C、O(n)
D、O(n^2)
(  B  )
8、(4分)针对线性表逻辑上相邻的两个元素,下列叙述中,正确的是(B)。
A、采用顺序存储时一定相邻,采用链式存储时也一定相邻
B、采用顺序存储时一定相邻,采用链式存储时不-定相邻
C、采用顺序存储时不一定相邻,采用链式存储时一定相邻
D、器用顺序存储时不一定相邻,采用链式存储时也不定相邻
(  A  )
9、设指针P指向双链表的某一结点, 则双向链表结构的对称性可用(A)式来刻画。
A、p->prior->next==p->next-> prior;
B、p->prior.> prior=-p->next-> prior;
C、p->next->next==p->prior->prior;
D、p-> prior->next==p->next->next;
(  D  )
10、循环队列的队空条件为()。
A、(sq.rear+1)%maxsize==(sq.front+1)%maxsize
B、(sq.rear+1)%maxsize==sq.front+1
C、sq.(rear+1)%maxsize==sq.front
D、sq.rear==sq.front
(  D  )
11、设循环队列中数组的下标范围是0~n-1,其头尾指针分别为f和r,则其元素的个数为()。
A、r-f
B、r-f+1
C、(r-f)%n+1
D、(r-f+n)%n
(  C  )
12、计算机算法指的是(),它具有输入、输出、可行性、确定性和有穷性等五个特性。
A、计算方法
B、排序方法
C、解决问题的优先运算序列
D、调度方法
(  A  )
13、循环队列A[0…m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是()。
A、(rear-front+m)%m
B、rear-front+1
C、rear-front-1
D、rear-front
(  C  )
14、设有串s1=”welcome to zdsoft colleage!”和s2=”so”,那么s2在s1中的索引位置是
A、12
B、14
C、13
D、10
(  D  )
15、循环队列为空队列的条件是:
A、Q.front=0
B、Q.(rear+1)%MaxSize==Q.front
C、Q.rear=0
D、Q.rear==Q.front
(  D  )
16、关于顺序表的说法不正确的是?
A、逻辑关系上相邻的两个元素在物理存储位置上也相邻
B、可以随机存取表中任一元素,方便快捷
C、在线性表中插入某一元素时,往往需要移动大量元素
D、在线性表中删除某一元素时,无需移动大量元素
(  A  )
17、链接存储的特点是利用什么来表示数据元素之间的逻辑关系
A、引用
B、串联
C、挂接
D、指派
(  A  )
18、如果要求用线性表既能较快地查找,又能适应动态变化的要求,则可采用(A )查找方法
A、分块查找
B、顺序查找
C、折半查找
D、基于属性
(  A  )
19、在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是( )。
A、访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)
B、在第i个结点后插入一个新结点(1≤i≤n)
C、删除第i个结点(1≤i≤n)
D、将n个结点从小到大排序
(  D  )
20、线性表若采用链式存储结构时,要求内存中可用存储单元的地址( )。
A、必须是连续的
B、部分地址必须是连续的
C、一定是不连续的
D、连续或不连续都可以
(  D  )
21、数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素个数的公式为( )。
A、r-f
B、(n+f-r)%n
C、n+r-f
D、(n+r-f)%n
(  C  )
22、设二叉树如下则后序序列为()
A、ABDEGCFH
B、DBGEAFHC
C、DGEBHFCA
D、ABCDEFGH
(  D  )
23、设一组初始记录关键字序列为(Q,H,C,Y,P,A,M,S,R,D,F,X),则按字母升序的第一趟冒泡排序结束后的结果是( )。
A、F,H,C,D,P,A,M,Q,R,S,Y,X
B、P,A,C,S,Q,D,F,X,R,H,M,Y
C、A,D,C,R,F,Q,M,S,Y,P,H,X
D、H,C,Q,P,A,M,S,R,D,F,X,Y
(  A  )
24、设顺序线性表中有n个数据元素,则删除表中第i个元素需要移动( )个元素。
A、n-i
B、n+l -i
C、n-1-i
D、i
(  D  )
25、设某链表中最常用的操作是在链表的尾部插入或删除元素,则选用下列( )存储方式最节省运算时间。
A、单向链表
B、单向循环链表
C、双向链表
D、双向循环链表
(  C  )
26、线性表( a1,a2,...,an)以链接方式存储时,访问第i位置元素的时间复杂性为( )。
A、O(i)
B、O(1)
C、O(n)
D、O(i-1)
(  A  )
27、有n个十进制整数进行基数排序,其中最大的整数为5位,则基数排序过程中临时建立的队数个数是( ) 。
A、10
B、n
C、5
D、2
(  B  )
28、下述排序算法中,稳定的是
A、直接选择排序
B、插入排序
C、快速排序
D、堆排序
(  A  )
29、在一个单链表中,删除p所指结点的直接后继的操作是
A、p->next=p->next->next;
B、p=p->next;p->next=p->next->next;
C、p->next=p->next;
D、p=p->next->next;
(  C  )
30、若让元素1,2,3依次进栈,则出栈次序不可能出现的是( )情况。 (4.0分)
A、3,2,1
B、2,1,3
C、3,1,2
D、1,3,2
(  A  )
31、下列程序的时间复杂度是( )。For(i=1;i<=n;++i){ for(j=1;j<=n;++j){ c[i][j]=0; }}
A、O(n*n)
B、O(n)
C、O(2n)
D、O(2n*n)
(  B  )
32、对n个不同的记录按排序码值从小到大次序重新排列,用直接插入排序方法,初始序列在 ( ) 情况下,排序码值总比较次数最多。
A、按排序码值从小到大排列
B、按排序码值从大到小排列
C、随机排列(完全无序)
D、基本按排序码值升序排列
(  D  )
33、研究数据结构就是研究( )。
A、数据的逻辑结构
B、数据的存储结构
C、数据的逻辑结构和存储结构
D、数据的逻辑结构、存储结构及其基本操作
(  C  )
34、从表中任一结点出发,都能扫描整个表的是( )。
A、单链表
B、顺序表
C、循环链表
D、静态链表
(  A  )
35、队列的插入操作是在( )。
A、队尾
B、队头
C、队列任意位置
D、队头元素后
(  A  )
36、已知串S=’aaab’,则next数组值为( )。
A、0123
B、1123
C、1231
D、1211
(  A  )
37、广义表G=(a,b(c,d,(e,f)),g)的长度是( )
A、3
B、4
C、7
D、8
(  D  )
38、以下数据结构中哪一个是非线性结构?
A、队列
B、栈
C、线性表
D、二叉树
(  C  )
39、设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行一趟快速排序的结果为( )。
A、2,3,5,8,6
B、3,2,5,8,6
C、3,2,5,6,8
D、2,3,6,5,8
(  B  )
40、设某有向图中有n个顶点e条边,则该图中所有顶点的入度之和为( )。
A、n
B、e
C、2n
D、2e
(  B  )
41、设用链表作为栈的存储结构则退栈操作( )。
A、必须判别栈是否为满
B、必须判别栈是否为空
C、判别栈元素的类型
D、对栈不作任何判别
(  A  )
42、执行一趟快速排序能够得到的序列是( )。
A、[41,12,34,45,27] 55 [72,63]
B、[45,34,12,41] 55 [72,63,27]
C、[63,12,34,45,27] 55 [41,72]
D、[12,27,45,41] 55 [34,63,72]
(  D  )
43、在一个有向图中,如果一个顶点的出度等于入度,则( )。
A、过该顶点的边数为1
B、过该顶点的边数为2
C、过该顶点的边数为4
D、无法确定过该顶点的边的数
(  C  )
44、折半查找有序表(4,6,10,12,20,30,50,70,88,100)。若查找表中元素128,则它将依此与表中( )比较大小,查找结果失败。
A、20,100
B、100
C、20,70,88,100
D、20,88,100
(  C  )
45、算法是描述解决特定问题的思路.方法和步骤,是求解步骤(指令)的有限序列。其特性除了包含输入和输出外,还包括( )。 (5.0分)
A、有穷性.正确性.可行性
B、有穷性.正确性.确定性
C、有穷性.确定性.可行性
D、正确性.确定性.可行性
(  C  )
46、当采用分块查找时,数据的组织方式为( )。 (5.0分)
A、数据必须有序
B、数据不必有序
C、数据分成若干块,每块内数据不必有序,但块间必须有序
D、数据分成若干块,每块内数据必须有序,但块间不必有序
(  B  )
47、二叉树的深度为k ,则二叉树最多有( )个结点。(1分)
A、2k
B、2^k-1
C、2^(k-1)
D、2k-1
(  B  )
48、栈中元素的进出原则是( )
A、先进先出
B、后进先出
C、栈空则进
D、栈满则出
(  D  )
49、G 是一个简单的非连通无向图,共有 28 条边,则该图至少有( )个顶点。
A、6
B、7
C、8
D、9
(  D  )
50、在双向循环链表的p所指结点之后插入s所指结点的操作是
A、p->right=s;  s->left=p;  p->right->left=s;  s->right=p->right;
B、p->right=s;  p->right->left=s;  s->left=p;  s->right=p->right;
C、s->left=p;  s->right=p->right;  p->right=s;  p->right->left=s;
D、s->left=p;  s->right=p->right;  p->right->left=s;  p->right=s;