数据结构

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

本卷包括如下题型:

一、单项选择题

数据结构

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

(  B  )
1、若要求尽可能快地对序列进行稳定的排序,则应选( B )。
A、快速排序
B、归并排序
C、冒泡排序
D、选择排序
(  D  )
2、下列排序算法中,其中( D )是稳定的。
A、堆排序,冒泡排序
B、快速排序,堆排序
C、直接选择排序,归并排序
D、归并排序,冒泡排序
(  C  )
3、(4分)在带头结点的双向循环链表中插入一个新结点,要修改的指针域数量是(C)。
A、2个
B、3个
C、4个
D、6个
(  B  )
4、(3分)在一棵二叉树中,度为2的结点数为15,度为1的结点数为3,则叶子结点数为(B) 。
A、12
B、16
C、18
D、20
(  A  )
5、(3分)下列选项中,其平均查找性能与基于二叉排序树的查找相当的是(A) 。
A、二分查找
B、顺序查找
C、分块查找
D、索顺序查找
(  A  )
6、与数据存储结构无关的概念是( 。
A、栈
B、链表
C、顺序表
D、二叉链表
(  B  )
7、(3分)顺序查找表长为n的线性表,在等概率情况下, 查找成功的平均查找长度是(B) 。
A、(n-1)/2
B、(n+1)/2
C、n(n+1)/2
D、n/2
(  A  )
8、(10分)有一组记录的关键序列为(46,79,56,38,40,84). 利用快速排序的方法,以第一一个纪录为基准得到的一 趟排序结果为(A)。
A、40 38 46 56 79 84
B、40 38 46 84 56 79
C、38 40 46 56 79 84
D、40 38 46 79 56 84
(  A  )
9、折半查找有序表(4,6,10,12,20,30,50,70,88,100)。若查找表中元素58,则它将依次与表中( )比较大小,查找结果是失败
A、20,70,30,50
B、30,88,70,50
C、20,50
D、30,88,50
(  A  )
10、最大容量为n的循环队列,队尾指针为rear,队头指针为front,则队空的条件是
A、rear==front
B、(rear+1)%n==front
C、rear+1==front
D、(rear-l)%n==front
(  A  )
11、一个具有n个顶点的无向图最多有( )边
A、n(n-1)/2
B、n(n-1)
C、n
D、2n
(  D  )
12、下述哪一条是顺序存储结构的优点
A、可方便地用于各种逻辑结构的存储表示
B、插入运算方便
C、删除运算方便
D、存储密度大
(  D  )
13、对于一个具有n个顶点和e条边的无向图,若采用邻接表表示,则占用的存储空间为
A、n+e
B、e
C、2e
D、n+2e
(  C  )
14、不含任何结点的空树
A、是一棵树
B、是一棵二叉树
C、是一棵树也是一棵二叉树
D、既不是树也不是二叉树
(  C  )
15、折半搜索与二叉排序树的时间性能( )。
A、相同
B、完全不同
C、有时不相同
D、数量级都是O(log2n)
(  B  )
16、对n个不同的关键字由小到大进行冒泡排序,在下列( )情况下比较的次数最多。
A、从小到大排列好的
B、从大到小排列好的
C、元素无序
D、元素基本有序
(  C  )
17、设广义表L=((a,b,c)),则L的长度和深度分别为( )。
A、1和1
B、1和3
C、1和2
D、2和3
(  B  )
18、二维数组A的每个元素是由10个字符组成的串,其行下标i=0,1,…,8,列下标j=1,2,…,10。若A按行先存储,元素A[8,5]的起始地址与当A按列先存储时的元素( )的起始地址相同。设每个字符占一个字节。
A、A[8,5]
B、A[3,10]
C、A[5,8]
D、A[0,9]
(  D  )
19、广义表A=(a,b,(c,d),(e,(f,g))),则Head(Tail(Head(Tail(Tail(A)))))的值为( )。
A、(g)
B、(d)
C、c
D、d
(  A  )
20、队列的特点是()。
A、先进先出
B、后进先出
C、先进后出
D、不进不出
(  C  )
21、数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为( )。
A、存储结构
B、逻辑结构
C、顺序存储结构
D、链式存储结构
(  C  )
22、设顺序循环队列Q[0:M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为( )。
A、R-F
B、F-R
C、(R-F+M)%M
D、(F-R+M)%M
(  D  )
23、设某无向图中有n个顶点e条边,则该无向图中所有顶点的入度之和为( )。
A、n
B、e
C、2n
D、2e
(  A  )
24、程序段s=i=0;do {i=i+1; s=s+i;}while(i<=n);的时间复杂度为( )。
A、O(n)
B、O(nlog2n)
C、O(n2)
D、O(n3/2)
(  A  )
25、设顺序线性表中有n个数据元素,则删除表中第i个元素需要移动( )个元素。
A、n-i
B、n+l -i
C、n-1-i
D、i
(  A  )
26、为实现快速排序法,待排序序列最好采用的存储方式是( )。
A、顺序存储
B、哈希存储
C、链式存储
D、索引存储
(  A  )
27、队列的删除操作是在( )。 (4.0分)
A、队首
B、队尾
C、队前
D、队后
(  B  )
28、若一颗二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是( )。 (3.0分)
A、9
B、11
C、15
D、14
(  A  )
29、若串S=”abcdefghi”,其非空子串数目是( )。
A、45
B、37
C、8
D、36
(  B  )
30、对n个不同的记录按排序码值从小到大次序重新排列,用直接插入排序方法,初始序列在 ( ) 情况下,排序码值总比较次数最多。
A、按排序码值从小到大排列
B、按排序码值从大到小排列
C、随机排列(完全无序)
D、基本按排序码值升序排列
(  A  )
31、在下列对顺序表进行的操作中,算法时间复杂度为O(1)的是( )。
A、访问第i个元素的前驱
B、在第i个元素之后插入一个新元素
C、删除第i个元素
D、对顺序表中元素进行排序
(  A  )
32、设有n个待排序的记录关键字,则在堆排序中需要( )个辅助记录单元。
A、O(1)
B、O(n)
C、O(nlog2(n))
D、O(n^2)
(  A  )
33、函数substr(“DATASTRUCTURE”,5,9)的返回值为( )。
A、“STRUCTURE”
B、“DATA”
C、“ASTRUCTUR”
D、“DATASTRUCTURE”
(  A  )
34、设一条单链表的头指针变量为head且该链表没有头结点,则其判空条件是( )。
A、head==NULL
B、head->next==NULL
C、head->next==head
D、head!=NULL
(  B  )
35、设输入序列为1、2、3、4、5、6,则通过栈的作用后可以得到的输出序列为( )。
A、5,3,4,6,1,2
B、3,2,5,6,4,1
C、3,1,2,5,4,6
D、1,5,4,6,2,3
(  C  )
36、折半查找有序表(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  )
37、数据表中有10000个元素,如果仅要求求出其中最大的10个元素,则采用( )算法最节省时间。
A、冒泡排序
B、快速排序
C、简单选择排序
D、堆排序
(  B  )
38、由4个结点可以构造出多少种不同的二叉树?
A、9
B、14
C、16
D、27
(  C  )
39、设F是一个森林,B是由F变换得到二叉树。若F中有n个非终端(叶子)结点,则B中右指针域为空的结点有( )个。
A、n-1
B、n
C、n+1
D、n+2
(  C  )
40、下列排序算法中( )排序在一趟结束后不一定能选出一个元素放在其最终位置上。 (2.0分)
A、选择
B、冒泡
C、归并
D、堆
(  A  )
41、折半查找有序表(4,6,10,12,20,30,50,70,88,100)。若查找表中元素58,则它将依次与表中 ( )比较大小,查找结果是失败。 (5.0分)
A、20,70,30,50
B、30,88,70,50
C、20,50,70,88
D、30,88,50
(  A  )
42、在数据的存放无规律而言的线性表中进行检索的最佳方法是( )。 (5.0分)
A、顺序查找
B、折半查找
C、分块查找
D、插值查找
(  D  )
43、算法是()。(1分)
A、计算机程序
B、解决问题的计算方法
C、排序算法
D、解决问题的有限运算序列
(  D  )
44、一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当用二分查找值为82的结点时,查找成功时的比较次数为( )。(1分)
A、1
B、2
C、4
D、8
(  B  )
45、下列排序方法中,平均时间性能为O(nlogn)且空间性能最好的是()。(1分)
A、快速排序
B、堆排序
C、归并排序
D、基数排序
(  B  )
46、不带头结点的单链表 L 为空的条件是( )
A、L!=NULL
B、L==NULL
C、L->next==NULL
D、L->next==L
(  A  )
47、一个顺序栈一旦被声明,其最大占用空间的大小( )
A、已固定
B、可以改变
C、不能固定
D、不确定
(  C  )
48、为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时,只有当( )时,才产生上溢。
A、两个栈的栈顶同时到达栈空间的中心点
B、其中一个栈的栈顶到达栈空间的中心点
C、两个栈的栈顶在达栈空间的某一位置相遇
D、两个栈均不空,且一个栈的栈顶到达另一个栈的栈底
(  C  )
49、设无向图 G 中顶点数为 n,则图 G 至多有()条边。
A、0
B、n
C、n(n-1)/2
D、n(n-1)
(  C  )
50、深度为5的二叉树至多有____个结点
A、16
B、32
C、31
D、10