2022年数据结构练习

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

本卷包括如下题型:

一、单项选择题

数据结构练习

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

(  B  )
1、采用邻接表存储的图的深度优先遍历算法类似于二叉树的。
A、按层遍历
B、前序遍历
C、中序遍历
D、后序遍历
(  C  )
2、有六个元素6,5,4,3,2,1 的顺序进栈,问下列哪一个不是合法的出栈序列?( C )
A、5 4 3 6 1 2
B、4 5 3 1 2 6
C、3 4 6 5 2 1
D、2 3 4 1 5 6
(  A  )
3、下面给出的四种排序方法中,排序过程中的比较次数与排序方法无关的是。( A )
A、选择排序法
B、插入排序法
C、快速排序法
D、堆积排序法
(  C  )
4、对于顺序存储的线性表,访问结点和增加、删除结点的时间复杂度为( C )。
A、O(n) O(n)
B、O(n) O(1)
C、O(1) O(n)
D、O(1) O(1)
(  A  )
5、以下数据结构中,( A )是非线性数据结构
A、树
B、字符串
C、队
D、栈
(  C  )
6、在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶,当做出栈处理时,top变化为()。
A、top不变
B、top=0
C、top—
D、top++
(  B  )
7、在下列查找方法中,适用于静态查找的方法有( )。
A、折半查找、二叉排序树查找
B、折半查找、索引查找
C、二叉排序树查找、顺序查找
D、哈希表查找、索引查找
(  D  )
8、字符串采用结点大小为1的链表作为其存储结构,是指()。
A、链表的长度为1
B、链表只存放1个字符
C、链表的每个链结点的数据域中不只存放了一个字符
D、链表的每个链结点的数据域中只存放了一个字符
(  B  )
9、一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1<=i<=n)个元素是()。
A、不确定
B、n-i+1
C、i
D、n-i
(  A  )
10、线性表是()。
A、一个有限序列,可以为空
B、一个无限序列,不可以为空
C、一个无限序列,可以为空
D、一个无限序列,不可以为空
(  B  )
11、一棵满二叉树的层次遍历的结果为 ABCDEFG,则先序遍历该满二叉树得到的先序序列为( )。
A、ABCEFDG
B、ABDECFG
C、ACGFBED
D、ABEDCGF
(  C  )
12、给定排序码值序列为{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,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}
(  B  )
13、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用(B)存储方式最节省运算时间
A、单链表
B、仅有尾指针的单循环链表
C、仅有头指针的单循环链表
D、双链表
(  C  )
14、在下面的程序段中,x=x+1;的语句频度为( )。for( i=1;i<=n;i++)  for(j=1;j<=n;j++) x=x+1;
A、O(2n)
B、O(n)
C、O(n^2)
D、O(log2n)
(  A  )
15、折半查找有序表(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
(  B  )
16、一个有N个顶点的有向图最多有( )条边
A、N
B、N(N-1)
C、N(N -1)/2
D、2N
(  D  )
17、在一棵三元树中度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,则度为0的结点数为
A、4
B、5
C、6
D、7
(  B  )
18、若从无向图的任意一个顶点出发进行一次深度优先搜索可以访问图中所有的顶点,则该图一定是( )图
A、非连通
B、连通
C、强连通
D、有向
(  A  )
19、如果要求用线性表既能较快地查找,又能适应动态变化的要求,则可采用(A )查找方法
A、分块查找
B、顺序查找
C、折半查找
D、基于属性
(  D  )
20、用冒泡排序方法对n个记录按排序码值从小到大排序时,当初始序列是按排序码值从大到小排列时,与码值总比较次数是
A、n-1
B、n
C、n+1
D、n(n-1)/2
(  C  )
21、快速排序在下列( )情况下最易发挥其长处。
A、被排序的数据中含有多个相同排序码
B、被排序的数据已基本有序
C、被排序的数据完全无序
D、被排序的数据中的最大值和最小值相差悬殊
(  A  )
22、算法的空间复杂度是指()。
A、算法在执行过程中所需要的计算机存储空间
B、算法所处理的数据量
C、算法程序中的语句或指令条数
D、算法在执行过程中所需要的临时工作单元数
(  A  )
23、设栈的顺序存储空间为 S(1:m),初始状态为 top=0。现经过一系列正常的入栈与退栈操作后,top=m+1,则栈中的元素个数为()。
A、不可能
B、m+1
C、0
D、m
(  A  )
24、下列排序法中,每经过一次元素的交换会产生新的逆序的是()。
A、快速排序
B、冒泡排序
C、简单插入排序
D、简单选择排序
(  A  )
25、设二叉树共有 375 个结点,其中度为 2 的结点有 187 个。则度为 1 的结点个数是()。
A、0
B、1
C、188
D、不可能有这样的二叉树
(  C  )
26、一个栈的入栈序列是abcde,则栈的不可能的输出序列是( )。
A、edcba
B、decba
C、dceab
D、abcde
(  A  )
27、设指针变量p指向单链表中结点A,若删除单链表中结点A,则需要修改指针的操作序列为( )。
A、q=p->next;p->data=q->data;p->next=q->next;free(q)
B、q=p->next;q->data=p->data;p->next=q->next;free(q)
C、q=p->next;p->next=q->next;free(q)
D、q=p->next;p->data=q->data;free(q)
(  B  )
28、设一棵m叉树中度数为0的结点数为N0,度数为1的结点数为N1,......,度数为m的结点数为Nm,则N0=( )。
A、N1+N2+......+Nm
B、1+N2+2N3+3N4+......+(m-1)Nm
C、N2+2N3+3N4+......+(m-1)Nm
D、2N1+3N2+......+(m+1)Nm
(  A  )
29、下列程序段的时间复杂度为( )。
i=0,s=0;
while (s
A、O(n/2)
B、O(n/3)
C、O(n)
D、O(n2)
(  D  )
30、适合折半查找的数据是()
A、以链表存储的线性表
B、以顺序表存储的线性表
C、以链表存储的有序线性表
D、以顺序表存储的有序线性表
(  C  )
31、在一棵含有8个结点的二叉排序树,其结点值为a—h,以下()是其先后序遍历结果。
A、adbcegfh
B、bcagehfd
C、bcaefdhg
D、bdacefhg
(  A  )
32、队列的删除操作是在( )。 (4.0分)
A、队首
B、队尾
C、队前
D、队后
(  C  )
33、某二叉树的中序序列为ABCDEFG,后序序列为BDCAFGE,则其左子树数目为( )。 (3.0分)
A、3
B、2
C、4
D、5
(  D  )
34、设森林F中有三棵树,第一,第二,第三棵的结点个数分别为M1,M2,M3。与森林F对应的二叉树根节点的右子树的个数是( )。 (3.0分)
A、M1
B、M1+M2
C、M3
D、M2+M3
(  B  )
35、一颗二叉树高度为h(根的高度为1),所有结点的度为0,或者为2,则这颗二叉树最少( )结点。 (3.0分)
A、2h
B、2h-1
C、2h+1
D、h+1
(  D  )
36、下列排序方法中,排序码值总比较次数与待排序记录的初始序列排列状态无关的是 ( ) 。
A、直接插入排序
B、堆排序
C、快速排序
D、直接选择排序
(  B  )
37、若需要时间复杂度在O(nlog2n)内,对整数数组进行排序,且要求排序方法是稳定的,则可选择的排序方法是 ( ) 。
A、块速排序
B、归并排序
C、堆排序
D、直接插入排序
(  C  )
38、线性表采用链式存储时,结点的存储地址( )。
A、必须是连续的
B、必须是不连续的
C、连续与否均可
D、和头结点的存储地址相连续
(  A  )
39、在表长为n的顺序表中,当在任何位置删除一个元素的概率相同时,删除一个元素所需移动的平均个数为( )。
A、(n-1)/2
B、n/2
C、(n+1)/2
D、n
(  B  )
40、由二叉树的前序和后序遍历序列( )惟一确定这棵二叉树。
A、能
B、不能
C、如果是满二叉树就能
D、如果是完全二叉树就能
(  A  )
41、串“abcabcef”的nextval为( )
A、01112341
B、01112111
C、01123111
D、01111123
(  B  )
42、设按照从上到下、从左到右的顺序从1开始对完全二叉树进行顺序编号,则编号为i结点的左孩子结点的编号为( )。
A、2i+1
B、2i
C、i/2
D、2i-1
(  D  )
43、设输入序列1、2、3、…、n经过栈作用后,输出序列中的第二个元素是n,则输出序列中的第i个输出元素是( )。
A、n-i
B、n-1-i
C、n+1-i
D、不能确定
(  B  )
44、在一个长度为100的顺序表中,在第20个元素之前插入一个新元素时需向后移动( )个元素。
A、80
B、81
C、82
D、83
(  A  )
45、一维数组与线性表的区别是( )
A、前者长度固定,后者长度可变
B、两者长度均固定
C、后者长度固定,前者长度可变
D、两者长度均可变
(  A  )
46、某顺序栈 sqStack,其成员包含两部分:data[10]和 top,分别代表数据和栈顶,则表示栈中第三个数据元素的是( )
A、sqStack.data[2]
B、sqStack.data[3]
C、sqStack.data[4]
D、无法表示
(  B  )
47、已知输入序列为 abcd 经过队列后能得到的输出序列有( )
A、dacb
B、abcd
C、dcba
D、cadb
(  A  )
48、任何一棵二叉树的叶结点在前(先)序、中序和后序遍历序列中的相对次序( )
A、不发生变化
B、发生变化
C、某些树中发生变化,某些树中不发生变化
D、没有规律,无法确定
(  B  )
49、二维数组A中,每个元素A的长度为3个字节,行下标i从0到7,列下标j从0到9,从首地址SA开始连续存放在存储器内,该数组按列存放时,元素A[4][7]的起始地址为
A、SA+141
B、SA+180
C、SA+222
D、SA+225
(  C  )
50、深度为5的二叉树至多有____个结点
A、16
B、32
C、31
D、10