数据结构真题精选Word文档下载推荐.docx
- 文档编号:16435336
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:20
- 大小:518.74KB
数据结构真题精选Word文档下载推荐.docx
《数据结构真题精选Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数据结构真题精选Word文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。
。
4栈通常采用的两种存储结构是();
其判定栈空的条件分别是(),判定栈满的条件分别是()。
顺序存储结构和链接存储结构(或顺序栈和链栈);
栈顶指针top=-1和top=NULL;
栈顶指针top等于数组的长度和内存无可用空间
5栈和队列是两种特殊的线性表,栈的操作特性是(),队列的操作特性是(),栈和队列的主要区别在于()。
后进先出;
先进先出;
对插入和删除操作限定的位置不同
[单项选择题]
6、二维数组M的元素是4个字符(每个字符占一个存储单元)组成的串,行下标i的范围从0到4,列下标j的范围从0到5,M按行存储时元素M[3][5]的起始地址与M按列存储时元素()的起始地址相同。
A. M[2][4]
B. M[3][4]
C. M[3][5]
D. M [4][4]
B
7循环队列的引入是为了克服()。
假溢出
8设有一个10阶的对称矩阵A,采用压缩存储方式以行序为主序存储,a00为第一个元素,其存储地址为0,每个元素占有1个存储地址空间,则a85的地址为()
41
9什么样的矩阵叫特殊矩阵?
特殊矩阵压缩存储的基本思想是什么?
我们把相同的元素或零元素在矩阵中的分布有一定的规律的称为特殊矩阵。
压缩存储的原则是:
对多个值相同的元素只存储一次,对零元素甚至不分配存储空间。
10用循环链表表示的队列长度为n,若只设头指针,则出队和入队的时间复杂度分别是()和()。
O
(1);
O(n)
参考解析:
在带头指针的循环链表中,出队即是删除开始结点,这只需修改相应指针;
入队即是在终端结点的后面插入一个结点,这需要从头指针开始查找终端结点的地址。
11、一棵二叉树第五层的结点数最多为()
A.16
B.15
C.8
D.32
A
12、若一个栈的输入序列是1,2,3,…,n,输出序列的第一个元素是n,则第i个输出元素是()。
A.不确定
B.n-i
C.n-i-1
D.n-i+1
D
13写出如图所示的树的叶子结点、非终端结点、每个结点的度及树深度。
(1)叶子结点有:
B、D、F、G、H、I、J。
(2)非终端结点有:
A、C、E。
(3)每个结点的度分别是:
A的度为4,C的度为2,E的度为3,其余结点的度为0。
(4)树的深度为3。
14、按照二叉树的定义,具有三个节点的二叉树有()种
A.3
B.4
C.5
D.6
C
15、一个栈的入栈序列是1,2,3,4,5,则栈的不可能的输出序列是()。
A.54321
B.45321
C.43512
D.12345
16一棵度为2的树与一棵二叉树有什么区别?
度为2的树有两个分支,但分支没有左右之分;
一棵二叉树也有两个分支,但有左右之分,左右子树的次序不能交换。
17一棵深度为h的满二叉树具有如下性质:
第h层上的结点都是叶结点,其余各层上每个结点都有m棵非空子树。
若按层次从上到下,每层从左到右的顺序从1开始对全部结点编号,试计算:
整棵树结点数
(mh-1)/(m-1)
18、在解决计算机主机与打印机之间速度不匹配问题时通常设置一个打印缓冲区,该缓冲区应该是一个()结构。
A.栈
B.队列
C.数组
D.线性表
19在一棵度为M树中,度为1的结点数为N1,度为2的结点数为N2,……,度为M的结点数为NM,则该数中含有多少个叶子结点?
有多少个非终端结点?
20二叉树采用二叉树链表的结构存储,设计一个算法求二叉树中指定结点的层数。
21、一个队列的入队顺序是1,2,3,4,则队列的输出顺序是()。
A.4321
B.1234
C.1432
D.3241
更多内容请访问《睦霖题库》微信公众号
22如图所示的二叉树,试分别写出它的顺序表示和链接表示(二叉链表)。
23、在一个具有n个顶点的有向完全图中,所含的边数为()
A.n
B.n(n-1)
C.n(n-1)/2
D.n(n+1)/2
24、设数组S[n]作为两个栈S1和S2的存储空间,对任何一个栈只有当S[n]全满时才不能进行进栈操作。
为这两个栈分配空间的最佳方案是()。
A.S1的栈底位置为0,S2的栈底位置为n-1
B.S1的栈底位置为0,S2的栈底位置为n/2
C.S1的栈底位置为0,S2的栈底位置为n
D.S1的栈底位置为0,S2的栈底位置为1
两栈共享空间首先两个栈是相向增长的,栈底应该分别指向两个栈中的第一个元素的位置,并注意C++中的数组下标是从0开始的。
25如图所示的二叉树,要求:
(1)写出按先序、中序、后序遍历得到的结点序列。
(2)画出该二叉树的后序线索二叉树。
26、无向图G=(V,A),其中V={a,b,c,d,e},A={,,<d,c>,<d,e>,<b,e>,<c,e>}对该图进行扑拓排序,下面序列中()不是拓扑序列。
A.adcbe
B.dabce
C.abdce
D.abcde
[判断题]
27、栈可以作为实现过程调用的一种数据结构。
对
28将如图所示的二叉树转换为树。
第一步,加线。
第二步,抹线。
第三步,调整。
过程如图所示。
29、当在一个有序的顺序存储表上查找一个数据时,既可用折半查找,也可用顺序查找,但前者比后者的查找速度()
A.必定快
B.不一定
C.在大部分情况下要快
D.取决于表递增还是递减
30、在循环队列中,front指向队头元素的前一个位置,rear指向队尾元素的位置,则队满的条件是front=rear。
错
31将如图所示的森林转换成二叉树。
32什么叫动态查找?
什么叫静态查找?
什么样的存储结构适宜于进行静态查找?
什么样的存储结构适宜于进行动态查找?
静态查找是指只在数据元素集合中查找是否存在关键字等于某个给定关键字的数据元素。
动态查找除包括静态查找的要求外,还包括在查找过程中同时插入数据元素集合中不存在的数据元素,或者从数据元素集合中删除已存在的某个数据元素的要求。
33、空串与空格串是相同的。
34、在一棵度为3的树中,度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,则度为0的结点数为()个。
A. 4
B. 5
C. 6
D. 7
35、排序方法中,从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为()
A.希尔排序
B.起泡排序
C.插入排序
D.选择排序
36举例说明顺序队列的“假溢出”现象。
假设有一个顺序队列,如图3-6所示,队尾指针rear=4,队头指针front=1,如果再有元素入队,就会产生“上溢”,此时的“上溢”又称为“假溢出”,因为队列并不是真的溢出了,存储队列的数组中还有2个
存储单元空闲,其下标分别为0和1。
37、在一棵二叉树上第4层的结点数最多为()。
A. 2
B. 4
D. 8
38改写快速排序算法,要求采用三者取中的方式选择划分的基准记录;
若当前被排序的区间长度小于等于3时,无须划分而是直接采用直接插入方式对其排序。
39在操作序列EnQueue
(1)、EnQueue(3)、DeQueue、EnQueue(5)、EnQueue(7)、DeQueue、EnQueue(9)之后,队头元素和队尾元素分别是什么?
(EnQueue(k)表示整数k入队,DeQueue表示队头元素出队)。
队头元素为5,队尾元素为9。
其执行过程如图3-8所示。
40、设n,m为一棵二叉树上的两个结点,在中序遍历序列中n在m前的条件是()。
A. n在m右方
B. n在m左方
C. n是m的祖先
D. n是m的子孙
41通常将链接方式存储的线性表称为(),它不仅可用来表示线性表,而且可用来表示各种非线性的数据结构。
链表
42假设以不带头结点的循环链表表示队列,并且只设一个指针指向队尾结点,但不设头指针。
试设计相应的入队和出队的算法。
出队操作是在循环链表的头部进行,相当于删除开始结点,而入队操作是在循环链表的尾部进行,相当于在终端结点之后插入一个结点。
由于循环链表不带头结点,需要处理空表的特殊情况。
入队算法如下:
出队算法如下:
43单链表表示法的基本思想是用()表示结点间的逻辑关系。
指针
44、如果F是由有序树T转换而来的二叉树,那么T中结点的前序就是F中结点的()。
A. 中序
B. 前序
C. 后序
D. 层次序
45用顺序存储结构存储串S,编写算法删除S中第i个字符开始的连续j个字符。
先判断串S中要删除的内容是否存在,若存在,则将第i+j-1之后的字符前移j个位置。
46有一带头结点的单链表,编程将链表颠倒过来,要求不用另外的数组或结点完成。
47、任何一棵二叉树的叶子结点在先序、中序和后序遍历序列中的相对次序()。
A. 不发生改变
B. 发生改变
C. 不能确定
D. 以上都不对
48对于采用顺序存储结构的串S,编写一个函数删除其值等于ch的所有字符。
从后向前删除值为ch的所有元素,这样所有移动的元素中没有值为ch的元素,能减少移动元素的次数,提高算法的效率。
49、设栈的输入序列是(1、2、3、4),则()不可能是其出栈序列。
A.1243
B.2134
D.4312
E.3214
50一棵含有n个结点的k叉树,()形态达到最大深度,()形态达到最小深度。
单支树;
完全二叉树
51、一个栈的入栈序列是a,b,c,d,e,则栈的不可能的出栈序列是()。
A.edcba
B.cdeba
C.debca
52、如果以链表作为栈的存储结构,则退栈操作时()
A.必须判别栈是否满
B.判别栈元素的类型
C.必须判别栈是否空
D.对栈不作任何判别
53对于一棵具有n个结点的二叉树,采用二叉链表存储时,链表中指针域的总数为()个,其中()个用于链接孩子结点,()个空闲着。
2n;
n-1;
n+1
54设元素1,2,3,P,A依次经过一个栈,进栈次序为123PA,在栈的输出序列中,有哪些序列可作为C++程序设计语言的变量名。
PA321,P3A21,P32A1,P321A,AP321
55设输入元素的顺序为1、2、3、4、5,要在栈S的输出端得到43521,则应进行栈的基本运算表示应为:
push(S,1),push(S,2),push(S,3),push(S,4),pop(S),(),pop(S),pop(S),pop(S)。
pop(s),push(s,5)
56已知一棵树边的集合为请画出这棵树{<
i,m>
,<
i,n>
e,i>
b,e>
b,d>
a,b>
g,j>
g,k>
c,g>
c,f>
h,l>
c,h>
a,c>
},并回答下列问题:
(1)哪个是根结点?
(2)哪些是叶子结点?
(3)哪个是结点g的双亲?
(4)哪些是结点g的祖先?
(5)哪些是结点g的孩子?
(6)哪些是结点e的孩子?
(7)哪些是结点e的兄弟?
哪些是结点f的兄弟?
(8)结点b和n的层次号分别是什么?
(9)树的深度是多少?
(10)以结点c为根的子树深度是多少?
57一棵深度为H的满k叉树有如下性质:
第H层上的结点都是叶子结点,其余各层上每个结点都有k棵非空子树,如果按层次自上至下,从左到右顺序从1开始对全部结点编号,回答下列问题:
各层的结点数目是多少?
第i层上的结点数目是mi-1。
58对于栈和队列,无论它们采用顺序存储结构还是链接存储结构,进行插入和删除操作的时间复杂度都是()。
O
(1)
59已知Fibonacci数列的递归定义如下:
试写出求解fib(n)的递归算法。
60设有串S1=’Ianastudent’,S2=’st’,其index(S1,S2)=()
8
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 精选