奥鹏吉林大学《数据结构》考前练兵doc.docx
《奥鹏吉林大学《数据结构》考前练兵doc.docx》由会员分享,可在线阅读,更多相关《奥鹏吉林大学《数据结构》考前练兵doc.docx(20页珍藏版)》请在冰豆网上搜索。
![奥鹏吉林大学《数据结构》考前练兵doc.docx](https://file1.bdocx.com/fileroot1/2022-11/22/adf756b5-a5fb-4ec1-b6bf-c4056ee9ec6d/adf756b5-a5fb-4ec1-b6bf-c4056ee9ec6d1.gif)
奥鹏吉林大学《数据结构》考前练兵doc
单选题
1.在单链表中,删除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;
答案:
A
2.在无向图中,所有顶点的度数之和是所有边数的()倍。
A.0.5
B.1
C.2
D.4
答案:
C
3.在具有n个单元的循环队列中,队满共有_______个元素。
A.n
B.n-1
C.n+1
D.n+2
答案:
B
4.含n个顶点的连通图中的任意一条简单路径,其长度不可能超过()。
A.1
B.n/2
C.n-1
D.n
答案:
C
5.在图的邻接表存储结构上执行深度优先搜索遍历类似于二叉树上的()。
A.先根遍历
B.中根遍历
C.后根遍历
D.按层次遍历
答案:
A
6.链栈与顺序栈相比,有一个比较明显得优点是()
A.通常不会出现栈满的情况
B.通常不会出现栈空的情况
C.插入操作更加方便
D.删除操作更加方便
答案:
A
7.从具有n个结点的单链表中查找值等于x的结点时,在查找成功的情况下,平均需比较()个结点。
A.n
B.n/2
C.(n-1)/2
D.(n+1)/2
答案:
D
8.带头结点的单链表head为空的判断条件是()。
A.head=NULL
B.head->next=NULL
C.head->next=head
D.head!
=NULL
答案:
B
9.线性表是具有n个()的有限序列
A.表元素
B.字符
C.数据元素
D.数据项
答案:
C
10.在一个单链表中,已知q所指结点是p所指结点的直接前趋,若在p,q之间插入s结点,这执行()操作。
A.s->next=p->next;p->next=s
B.q->next=s;s->next=p
C.p->next=s->next;s->next=p;
D.p->next=s;s->next=q;
答案:
B
11.在数据结构中,逻辑上数据结构可分为:
()
A.动态结构和静态结构
B.线性结构和非线性结构
C.紧凑结构和非紧凑结构
D.内部结构和外部结构
答案:
B
12.单链表中,增加头结点的目的是为了()。
A.方便运算的实现
B.用于标识单链表
C.使单链表中至少有一个结点
D.用于标识起始结点的位置
答案:
A
13.设深度为k的二叉树上只有度为0和度为2的结点,则这类二叉树上所含结点总数最少()个。
A.k+1
B.2k
C.2k-1
D.2k+1
答案:
C
14.任何一颗二叉树的叶结点在其先根、中根、后跟遍历序列中的相对位置()。
A.肯定发生变化
B.有时发生变化
C.肯定不发生变化
D.无法确定
答案:
C
15.通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着()
A.数据元素具有同一特点
B.不仅数据元素所包含的数据项的个数要相同,而且对应数据项的类型要一致
C.每个数据元素都一样
D.数据元素所包含的数据项的个数要相等
答案:
B
16.当文件局部有序或文件长度较小的情况下,最佳的排序方法是()。
A.直接插入排序
B.直接选择排序
C.冒泡排序
D.归并排序
答案:
C
17.非空的循环单链表head的尾结点(由指针p所指)满足()。
A.p->next=NULL
B.p=NULL
C.p->next=head
D.p=head
答案:
C
18.PUSH和POP命令常用于()操作
A.队列
B.数组
C.栈
D.记录
答案:
C
19.深度为6的二叉树最多有()个结点。
A.64
B.63
C.32
D.31
答案:
B
20.在排序过程中,键值比较的次数与初始序列的排列顺序无关的是()。
A.直接插入排序和快速排序
B.直接插入排序和归并排序
C.直接选择排序和归并排序
D.快速排序和归并排序和归并排序
答案:
C
21.线性表是具有n个()的有限序列。
A.表元素
B.字符
C.数据元素
D.信息项
答案:
C
22.下列四个关键字序列中,()不是堆。
A.{05,23,16,68,94,72,71,73}
B.{05,16,23,68,94,72,71,73}
C.{05,23,16,73,94,72,71,68}
D.{05,23,16,68,73,71,72,94}
答案:
C
23.在一个有向图中,所有顶点的入度之和等于所有顶点出度之和的()倍。
A.1/2
B.1
C.2
D.4
答案:
B
24.在一个单链表中,若删除(*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;
答案:
A
25.对稀疏矩阵进行压缩存储是为了()
A.便于进行矩阵运算
B.便于输入和输出
C.节省存储空间
D.降低运算的时间复杂度
答案:
C
26.设输入序列为1,2,3,4,5,借助一个栈可以得到的输出序列是()。
A.2,4,1,3,5
B.3,4,1,5,2
C.3,2,4,1,5
D.4,1,3,2,5
答案:
C
27.若某链表最常用的操作是在最后一个结点之后插入一个结点和删除最后一个结点,则采用()存储方式最节省空间。
A.单链表
B.双链表
C.带头结点的双循环链表
D.单循环链表
答案:
C
28.栈和队列都是()
A.顺序存储的线性表
B.链式存储的线性表
C.限制存取点的线性结构
D.限制存取点的非线性结构
答案:
C
29.若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为()。
(1≦i≦n+1)
A.O(0)
B.O
(1)
C.O(n)
D.O(n2)
答案:
C
30.对有n个记录的有序表采用二分查找,其平均查找长度的量级为()。
A.O(log2n)
B.O(nlog2n)
C.O(n)
D.O(n2)
答案:
A
31.对有n个记录的表按记录键值有序建立二叉排序树,在这种情况下,其平均查找长度的量级为()。
A.O(n)
B.O(nlog2n)
C.O
(1)
D.O(log2n)
答案:
A
32.链表不具有的特点是()。
A.可随机访问任一元素
B.插入删除不需要移动元素
C.不必事先估计存储空间
D.所需空间与线性表长度成正比
答案:
A
33.某二叉树的前序和后序序列正好相同,则该二叉树一定是()的二叉树。
A.空或只有一个结点
B.高度等于其结点数
C.任一结点无左孩子
D.任一结点无右孩子
答案:
A
34.若已知一个栈的输入序列为1,2,3,4,……,n,其输出序列p1,p2,…..,pn。
若p1=n,则pi为
A.i
B.n-i
C.n-i+1
D.不确定
答案:
C
35.有64个节点的完全二叉树的高度为()(根的层次为1)。
A.8
B.7
C.6
D.5
答案:
B
36.设输入序列为的A,B,C,D,借助一个栈不可以得到的输出序列是()。
A.A,B,C,D
B.A,C,D,B
C.D,C,B,A
D.D,A,B,C
答案:
D
37.邻接表的存储结构下图的广度优先遍历类似于二叉树(树)的()。
A.先序遍历
B.中序遍历
C.后序遍历
D.按层遍历
答案:
D
38.在线索二叉树中,结点(*t)没有左子树的充要条件是()。
A.t->left==NULL
B.t->ltag==1
C.t->ltag==1&&t->left==NULL
D.以上都不对
答案:
B
39.在一个具有n个顶点的无向图中,要连通全部顶点至少需要()边。
A.n
B.n+1
C.n-1
D.n/2
答案:
C
40.邻接表的存储结构下图的深度优先遍历类似于二叉树(树)的()。
A.先序遍历
B.中序遍历
C.后序遍历
D.按层遍历
答案:
A
41.冒泡排序的时间复杂度是()。
A.O(n2)
B.O(nlog2n)
C.O(n)
D.O(log2n)
答案:
A
42.串是()
A.一些符号构成的序列
B.一些字母构成的序列
C.一个以上字符构成的序列
D.任意有限个字符构成的序列
答案:
D
43.任何一棵二叉树的叶子结点在先序、中序和后序遍历序列中的相对位置()。
A.不发生变化
B.发生变化
C.不能确定
D.一定发生改变
答案:
A
44.以下叙述正确的是()。
A.在顺序存储的线性表中,逻辑上相邻的两个数据元素在物理上并不一定相邻
B.链式存储的线性表可以随机存取
C.顺序存储的线性表可以随机存取
D.在线性表的顺序存储结构中,插入和删除元素时,移动元素的个数仅于该元素的位置有关
答案:
C
45.任何一个无向连通图的最小生成树()。
A.只有一棵
B.有一棵或多棵
C.一定有多棵
D.可能不存在
答案:
B
46.单链表的存储密度()。
A.大于1
B.等于1
C.小于1
D.不能确定
答案:
C
47.二分查找法要求查找表中各元素的键值必须是()排列。
A.递增或递减
B.递增
C.递减
D.无序
答案:
A
48.下列排序算法中,某一趟结束后未必能选出一个元素放其最终位置上的是()。
A.堆排序
B.冒泡排序
C.快速排序
D.直接插入排序
答案:
D
49.下列排序算法中,第一趟排序完毕后,其最大或最小元素一定在其最终位置上的算法是()。
A.归并排序
B.直接插入排序
C.快速排序
D.冒泡排序
答案:
D
50.线性链表中各结点之间的地址()。
A.必须连续
B.一定不连续
C.部分地址必须连续
D.连续与否无所谓
答案:
D
51.在一个具有n个顶点的完全无向图的边数为()。
A.n(n+1)/2
B.n(n-1)/2
C.n(n-1)
D.n(n+1)
答案:
B
52.当初始序列已经按键值有序时,用直接插入算法进行排序,需要比较的次数为()。
A.n2
B.nlog2n
C.log2n
D.n-1
答案:
D
53.线性表的长度是指()
A.顺序存储方式下数组所占的空间大小
B.链式存储方式下所有结点占用的空间大小
C.表中的元素个数
D.所能存储的最大的结点个数
答案:
C
54.如果待排序序列中两个数据元素具有相同的值,在排序后它们的位置发生颠倒,则称该排序是不稳定的。
()就是不稳定的排序方法。
A.起泡排序
B.归并排序
C.直接插入法排序
D.简单选择排序
答案:
D
55.某二叉树的前序和后序序列正好相反,则该二叉树一定是()二叉树。
A.空或只有一个结点
B.高度等于其结点数
C.任意结点无左孩子
D.任意结点无右孩子
答案:
B
多选题
1.二叉树的遍历方式有()
A.先根遍历
B.中根遍历
C.后根遍历
D.深度遍历
答案:
A,B,C
2.类string中包含的串运算有()
A.Find()
B.Substr()
C.Insert()
D.Length()
答案:
A,B,C,D
3.对有序表的查找方式有以下几种()
A.折半查找
B.斐波那契查找
C.插值查找
D.二叉树查找
答案:
A,B,C
4.图的存储结构有()
A.邻接矩阵
B.邻接表
C.数组表示法
D.十字链表
答案:
A,B,C,D
5.以下属于操作受限的顺序表是()
A.栈
B.队列
C.单链表
D.树
答案:
A,B
6.一个好的算法应具备以下性质()
A.正确性
B.可读性
C.稳健性
D.有穷性
答案:
A,B,C,D
7.对线性表,可进行如下基本操作()
A.随机存取
B.插入
C.删除
D.查找
答案:
A,B,C,D
8.数据结构指的是数据之间的关系,主要包含3部分的内容()
A.数据的逻辑结构
B.数据的存储结构
C.对数据施加的操作
D.算法
答案:
A,B,C
9.递归过程中要保存的信息包括()
A.返回地址
B.本次调用中与形参结合的实参值
C.本次递归调用中的局部变量值
D.执行结果
答案:
A,B,C
10.属于插入排序的排序方法有()
A.直接插入排序
B.对半插入排序
C.渐减增量排序
D.冒泡排序
答案:
A,B,C
判断题
1.单链表中的头结点就是单链表的第一个结点。
()
A.错误
B.正确
答案:
A
2.栈和队列都是限制取点的线性结构()
A.错误
B.正确
答案:
B
3.Huffman树、平衡二叉树都是数据的逻辑结构
A.错误
B.正确
答案:
B
4.设栈的输入序列是1,2,3,4,则1,4,3,2不可能是其出栈序列
A.错误
B.正确
答案:
A
5.字符串是一种线性表,其特殊性表现在它的数据元素是一个字符
A.错误
B.正确
答案:
B
6.邻接多重表示法对于有向图和无向图的存储都适用
A.错误
B.正确
答案:
B
7.在一颗非空二叉树中,叶子节点的总数比度为2的节点总数多1个
A.错误
B.正确
答案:
B
8.从未排序的序列中依次取出一个元素与已排序序列中的元素进行比较,然后将其放在已排序序列的合适位置上,该排序方法称为插入排序
A.错误
B.正确
答案:
B
9.对于前序遍历和中序遍历结果相同的二叉树为所有结点只有右孩子的二叉树
A.错误
B.正确
答案:
B
10.在第一趟排序之后,一定能把数据表中最大或最小元素放在其最终的排序算法是冒泡排序
A.错误
B.正确
答案:
B
11.算法在发生非法操作时可以作出处理的特性称为健壮性
A.错误
B.正确
答案:
B
12.具有n(n>0)个顶点的无向图最多含有n(n-1)/2条边
A.错误
B.正确
答案:
B
13.若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是归并排序
A.错误
B.正确
答案:
B
14.快速排序的速度在所有排序方法中为最快,而且所需附加空间也最少
A.错误
B.正确
答案:
A
15.不是所有的AOV网都有一个拓朴序列
A.错误
B.正确
答案:
B
16.在最好和最坏情况下的时间复杂度均为O(nlogn)且稳定的排序方法是归并排序
A.错误
B.正确
答案:
B
17.判断一个表达式中左右括号是否匹配,采用栈实现较为方便
A.错误
B.正确
答案:
B
18.设有两个串p和q,求q在p中首次出现的位置的运算称作模式匹配
A.错误
B.正确
答案:
B
19.由权值为9,2,5,7的四个叶子结点构造一棵哈夫曼树,该树的带权路径长度44
A.错误
B.正确
答案:
B
20.算法和程序没有区别,所以在数据结构中二者是通用的。
()
A.错误
B.正确
答案:
A
21.任何一棵二叉树中至少有一个结点的度为2。
()
A.错误
B.正确
答案:
A
填空题
1.在一棵二叉树中,假定次数为2的结点有8个,次数为1的结点有7个,则叶子结点的个数为##。
答案:
9
2.一般树的存储结构有双亲表示法、孩子兄弟表示法和##.
答案:
孩子链表表示法
3.在一棵二叉树中,假定次数为2的结点有12个,次数为1的结点有7个,则叶子结点的个数为##。
答案:
13
4.在双链表中每个节点有两个指针域,一个指向##,另一个指向##。
答案:
直接前驱地址
直接后继地址
5.顺序表相对于链表的优点有##和##。
答案:
节省存储
随机存取
6.队列中允许进行插入的一端称为##。
答案:
队尾
7.判断线索二叉树中某结点指针P所指结点有左孩子的条件是##。
答案:
t->ltag==0
8.算法分析的两个主要方面是##,##.
答案:
时间
空间
9.在有n个结点无向图中,其边数最多为##。
答案:
n(n-1)/2
10.单链表表示的链式队列的队头在链表的什么位置##__。
答案:
链头
11.一个算法的时间复杂度为(5n3+4nlog2n+8n)/(7n),其数量级表示为##__.
答案:
O(n2)
12.将长度为m的单链表连接在长度为n的单链表之后的算法的时间复杂度为##__。
答案:
O(n)
13.若要求一个稠密图G的最小生成树,最好用##算法来求解。
答案:
Prim,Prim,Prim,Prim,Prim,Prim,Prim,Prim
14.在对n个元素进行冒泡排序的过程中,最好情况下的时间复杂性为##__。
答案:
o(n)
15.单链表中,增加头结点的目的是为了##__。
答案:
方便运算的实现
16.矩阵采用压缩存储是为了##。
答案:
节省空间
17.设根结点的层数为0,定义树的高度为树中层数最大的结点的层数加1。
则高度为k的二叉树具有的结点数目,最少为##,最多为##。
答案:
k
2k-1
18.对于顺序存储的栈,因为栈的空间是有限的,在进行##运算时,可能发生栈的上溢,在进行##运算时,可能发生栈的下溢。
答案:
插入
删除
19.按照二叉树的定义,具有3个结点的二叉树具有的种类为##__。
答案:
5
20.图的深度优先搜索方法类似于二叉树的##遍历。
答案:
先序
21.对稀疏矩阵进行压缩存储是为了##__。
答案:
节省存储空间
22.一个算法的时间复杂度为(5n2+4nlog2n+8n)/(7n),其数量级表示为##_.
答案:
O(n)
23.若一棵二叉树有12个叶结点,则该二叉树中度为2的结点个数为##.
答案:
11
24.在有n个叶子结点的哈夫曼树中,其结点总数为##。
答案:
2n-1
25.二叉树的存储结构有##__和链式存储结构。
答案:
顺序存储结构
26.双链表中,在指针P所指结点前面插入一个结点s^时的语句序列是:
s->next=p;s->prior=p->prior;p->prior=s;##。
答案:
p->prior->next=s;
27.在顺序表(n足够大)中进行顺序查找,其查找不成功的平均长度是##__。
答案:
n+1
28.若一棵二叉树有10个叶结点,则该二叉树中度为2的结点个数为##.
答案:
9
29.若连通网络上各边的权值均不相同,则该图的最小生成树有##棵。
答案:
1
30.在一棵树中,##结点没有前驱结点。
答案:
根
31.在n个结点的顺序表中插入一个结点需平均移动##个结点,具体移动次数取决于##。
答案:
n/2
位置与表长
32.从逻辑关系上讲,数据结构主要分为两大类:
线性结构和##。
答案:
非线性结构
33.二叉树的遍历方式有三种:
##__,##__和后根遍历。
答案:
先根遍历
中根遍历
34.在n个结点的顺序表中删除一个结点需平均移动##个结点,具体移动次数取##。
答案:
(n-1)/2
决于表长和位置
35.图的存储结构最常用的有##__和邻接表。
答案:
邻接矩阵
36.使具有30个顶点的无向图成为一个连通图至少应有边的条数是##__。
答案:
29
37.具有100个结点的完全二叉树的叶子结点数为##。
答案:
50
38.一个具有n个顶点e条边的无向图中,采用邻接表表示,则所有顶点的邻接表的结点总数为##__。
答案:
2e
39.按顺序存储方法存储的线性表称为##,按链式存储方法存储的线性表称为##。
答案:
顺序表
链表
40.数据结构的三个方面:
数据的##,##,##。
答案:
逻辑结构
物理结构
运算
41.在图形结构中,每个结点的前驱结点数和后续结点数可以有##__。
答案:
任意多个
42.栈的插入和删除操作进行的位置在##__。
答案:
栈顶
43.在##链表中,从任何一结点出发都能访问到表中的所有结点。
答案:
循环
44.个无向图中,所有顶点的度数之和等于所有边数##__倍。
答案:
1
45.由一棵二叉树的后序序列和##唯一确定这棵二叉树。
答案:
中序序列
46.图的遍历方法有深度优先遍历和##__。
答案:
广度优先遍历
47.使具有30个顶点的无向图成为一个连通图至少应有边的条数是##__。
答案:
29
48.在线索二叉树中,线索是指向结点##的指针。
答案:
在某遍历次序下的前驱或后继结点
49.拓扑排序输出的顶点数小于有向图的顶点数,则该图一定存在##__。
答案:
环
50.在n个结点的单链表中要删除p指结点,需找到其##,其时间复杂度为##.
答案:
直接前驱结点的地址
O(n)
51.下面程序段中,for(inti=1;i<=n;i++)for(intj=1;j<=n;j++)s;执行s语句的次数为##.
答案:
n2
52.克鲁斯卡尔(Kruskar)算法适用于##图。
答案:
边稀疏
53.用邻接表表示图进行深度优先遍历时,通常采用的辅助存储结构是##__。
答案:
栈
54.一个具有n个顶点的图采用邻接矩阵表示,则该矩阵的大小为##__。
答案:
n*n
55.一棵高度为5的二叉树中最少含有##个结点,最多含有##个结点(根结点从0层开始)。
答案:
6
63
56.对于一棵二叉树,设叶子结点数为n0,次数为2的结点数为n2,则n0和n2的关系是##__。
答案:
n0=n2+1