数据结构试题.docx
《数据结构试题.docx》由会员分享,可在线阅读,更多相关《数据结构试题.docx(14页珍藏版)》请在冰豆网上搜索。
数据结构试题
数据结构
[填空题]
1串是由字符组成的,长度为1的串和字符是否相同?
为什么?
参考答案:
虽然串是由字符组成的,但串和字符是两个不同的概念。
串是长度不确定的字符序列,而字符只是一个字符。
即使是长度为1的串也与字符不同。
例如,串"a"和字符'a'就是两个不同的概念,因为在存储时串的结尾通常加上串结束标志'/0'。
[单项选择题]
2、二维数组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
[填空题]
3什么样的矩阵叫特殊矩阵?
特殊矩阵压缩存储的基本思想是什么?
参考答案:
我们把相同的元素或零元素在矩阵中的分布有一定的规律的称为特殊矩阵。
压缩存储的原则是:
对多个值相同的元素只存储一次,对零元素甚至不分配存储空间。
[单项选择题]
4、一棵二叉树第五层的结点数最多为()
A.16
B.15
C.8
D.32
参考答案:
A
[单项选择题]
5、按照二叉树的定义,具有三个节点的二叉树有()种
A.3
B.4
C.5
D.6
参考答案:
C
[填空题]
6一棵深度为h的满二叉树具有如下性质:
第h层上的结点都是叶结点,其余各层上每个结点都有m棵非空子树。
若按层次从上到下,每层从左到右的顺序从1开始对全部结点编号,试计算:
整棵树结点数
参考答案:
(mh-1)/(m-1)
[填空题]
7二叉树采用二叉树链表的结构存储,设计一个算法求二叉树中指定结点的层数。
参考答案:
[单项选择题]
8、在一个具有n个顶点的有向完全图中,所含的边数为()
A.n
B.n(n-1)
C.n(n-1)/2
D.n(n+1)/2
参考答案:
B
[单项选择题]
9、无向图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
参考答案:
D
[单项选择题]
10、当在一个有序的顺序存储表上查找一个数据时,既可用折半查找,也可用顺序查找,但前者比后者的查找速度()
A.必定快
B.不一定
C.在大部分情况下要快
D.取决于表递增还是递减
参考答案:
B
[填空题]
11什么叫动态查找?
什么叫静态查找?
什么样的存储结构适宜于进行静态查找?
什么样的存储结构适宜于进行动态查找?
参考答案:
静态查找是指只在数据元素集合中查找是否存在关键字等于某个给定关键字的数据元素。
动态查找除包括静态查找的要求外,还包括在查找过程中同时插入数据元素集合中不存在的数据元素,或者从数据元素集合中删除已存在的某个数据元素的要求。
[单项选择题]
12、排序方法中,从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为()
A.希尔排序
B.起泡排序
C.插入排序
D.选择排序
参考答案:
C
[填空题]
13改写快速排序算法,要求采用三者取中的方式选择划分的基准记录;若当前被排序的区间长度小于等于3时,无须划分而是直接采用直接插入方式对其排序。
参考答案:
[填空题]
14通常将链接方式存储的线性表称为(),它不仅可用来表示线性表,而且可用来表示各种非线性的数据结构。
参考答案:
链表
[填空题]
15单链表表示法的基本思想是用()表示结点间的逻辑关系。
参考答案:
指针
[填空题]
16有一带头结点的单链表,编程将链表颠倒过来,要求不用另外的数组或结点完成。
参考答案:
[单项选择题]
17、设栈的输入序列是(1、2、3、4),则()不可能是其出栈序列。
A.1243
B.2134
C.1432
D.4312
E.3214
参考答案:
D
[单项选择题]
18、如果以链表作为栈的存储结构,则退栈操作时()
A.必须判别栈是否满
B.判别栈元素的类型
C.必须判别栈是否空
D.对栈不作任何判别
参考答案:
C
[填空题]
19设输入元素的顺序为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)
[填空题]
20已知Fibonacci数列的递归定义如下:
试写出求解fib(n)的递归算法。
参考答案:
[填空题]
21设有串S1=’Ianastudent’,S2=’st’,其index(S1,S2)=()
参考答案:
8
更多内容请访问《睦霖题库》微信公众号
[填空题]
22一个递归算法来实现字符串逆序存储,要求不另设串存储空间。
参考答案:
[单项选择题]
23、某二叉树中序序列为ABCDEFG,后序序列为BDCAFGE,则前序序列是()
A.EGFACDB
B.EACBDGF
C.EAGCFBD
D.上面的都不对
参考答案:
B
[填空题]
24如果结点A有3兄弟,而且B是A的双亲,则B的度是()
参考答案:
4
[填空题]
25在一棵树中,()结点没有前驱结点,其余每个结点有且只有一个(),可以有任意多个()结点。
参考答案:
树根;双亲(或前驱);孩子(或后继)
[填空题]
26深度为k的完全二叉树,其前k-1层共有()个结点。
参考答案:
2k-1-1
[填空题]
27给定一棵用链表表示的二叉树,其根结点为root,试写出二叉树结点数目的算法。
参考答案:
[单项选择题]
28、一个n个顶点的连通无向图,其边的个数至少为()。
A.n-1
B.n
C.n+1
D.nlog2n
参考答案:
A
[单项选择题]
29、对于一个有向图,若一个顶点的入度为k1、出度为k2,则对应邻接表中该顶点单链表中的结点数为()。
A.k1
B.k2
C.k1-k2
D.k1+k2
参考答案:
B
[填空题]
30一个连通图的()是一个极小连通子图。
参考答案:
生成树
[填空题]
31在AOE网中,从源点到汇点路径上各活动的时间总和最长的路径称为()
参考答案:
最短路径
[填空题]
32求从某源点到其余各顶点的Dijkstra算法,当图的顶点数为10,用邻接矩阵表示图时计算时间约为10ms,则当图的顶点数为40时,计算时间约为()ms。
参考答案:
160
[填空题]
33有n个顶点的有向图,至少需要()条弧才能保证是连通的。
参考答案:
n-1
[单项选择题]
34、为了方便地对图状结构的数据进行存取操作,则其中数据存储结构宜采用()。
A.顺序存储
B.链式存储
C.索引存储
D.散列存储
参考答案:
B
[单项选择题]
35、对于一个有向图,若一个顶点的入度为k1、出度为k2,则对应逆邻接表中该顶点单链表中的结点数为()。
A.k1
B.k2
C.k1-k2
D.k1+k2
参考答案:
A
[单项选择题]
36、一个有n个顶点的无向连通图,它所包含的连通分量个数为()。
A.0
B.1
C.n
D.n+1
参考答案:
B
[单项选择题]
37、在一个无向图中,若两个顶点之间的路径长度为k,则该路径上的顶点数为()。
A.K
B.k+1
C.k+2
D.2k
参考答案:
B
[单项选择题]
38、在一个具有n个顶点的有向图中,若所有顶点的出度之和为S,则所有顶点的入度之和为()。
A.S
B.s-1
C.s+1
D.n
参考答案:
A
[单项选择题]
39、判定一个有向图是否存在回路,除了可以利用拓扑排序的方法外,还可以利用()。
A.求关键路径的方法
B.求最短路径的Dijkstra方法
C.深度优先遍历算法
D.广度优先遍历算法
参考答案:
C
[单项选择题]
40、在有向图G的拓扑序列中,若顶点Vi在顶点Vj之前,则下列情况下不可能出现的是()。
A.G中有弧
B.G中有一条从Vi到Vj的路径
C.G中没有弧
D.G中有一条从Vj到Vi的路径
参考答案:
D
[单项选择题]
41、具有n个顶点的有向图最多有()条边。
A.N
B.n(n-1)
C.n(n+1)
D.n2
参考答案:
B
[填空题]
42已知深度为h的二叉树以一维数组[2h-1]作为其存储结构,请写一个算法,求该二叉树中叶结点的个树。
参考答案:
[填空题]
43给定一棵用链表表示的二叉树,其根结点为root,试写出求二叉树各结点的层数的算法。
参考答案:
[填空题]
44哈夫曼树是带权路径长度()的树,通常权值较大的结点离根()
参考答案:
最短;较近
[填空题]
45若二叉树的一个叶子结点是某子树中根遍历序列中的第一个结点,则它必然是该子树后根遍历序列中的()个结点。
参考答案:
第一
[填空题]
46结点最少的树为(),结点最少的二叉树为()
参考答案:
只有根结点的树;空二叉树
[填空题]
47具有n个结点的完全二叉树若按层次从上到下,从左到右对其编号(根结点为1),则编号最大的分支结点序号是(),编号最小的分支结点序号是(),编号最大的叶子结点序号是(),编号最小的叶子结点序号是()
参考答案:
[n/2];1;n;[n/2]+1
[填空题]
48用一维数组存放一棵完全二叉树:
ABCDEFGHIJKL,则后序遍历该二叉树的结点序列为()
参考答案:
HIDJKEBLFGCA
[填空题]
49一棵左右子树均不空的二叉树在先序线索化后,其空指针域有()个。
参考答案:
0
[填空题]
50对于一棵完全二叉树,设一个结点的编号为I,若它的左孩子结点存在,则其编号为();若右孩子结点存在,则其编号为();而双亲结点的编号为()
参考答案:
2i;2i+1;[i/2]
[填空题]
51二叉树有不同的链式存储结构,其中最常用的是()与()
参考答案:
二叉链表;三叉链表
[填空题]
52二叉树的线索化实质是将二叉链表中的()改为()
参考答案:
空指针域;存放该结点的前驱或后继信息
[填空题]
53利用树的孩子兄弟表示法存储,可以将一棵树转换成()
参考答案:
一棵二叉树
[填空题]
54具有n个结点的二叉树,采用二叉链表存储,共有()个空链域。
参考答案:
n+1
[填空题]
55高度为h的二叉树中叶子结点的数目至多为()
参考答案:
2h-1
[单项选择题]
56、某二叉树的前序序列和后序序列正好相反,则该二叉树一定是()的二叉树。
A.空或只有一个结点
B.任一结点无左子树
C.高度等于其结点数
D.任一结点无右子树
参考答案:
D
[单项选择题]
57、()的遍历仍需要栈的支持
A.前序线索树
B.中序线索树
C.后序线索树
参考答案:
C
[单项选择题]
58、对二叉排序树进行()遍历,可以得到该二叉树所有结点构成的排序序列。
A.前序
B.中序
C.后序
D.按层次
参考答案:
B
[单项选择题]
59、设森林F对应的二叉树为B,它有m个结点,B的根为P,P的右子树结点个数为n,森林F中第一棵树的结点个数是()
A.m-n
B.m-n-1
C.n+1
D.条件不充分,无法确定
参考答案:
A
[单项选择题]
60、下列有关二叉树的说法正确的是()
A.二叉树的度为2
B.一棵二叉树度可以小于2
C.二叉树中至少有一个结点的度为2
D.二叉树中任一个结点的度都为2
参考答案:
B