数据结构原理与分析01343下复习资料.docx

上传人:b****6 文档编号:6938037 上传时间:2023-01-12 格式:DOCX 页数:44 大小:190.76KB
下载 相关 举报
数据结构原理与分析01343下复习资料.docx_第1页
第1页 / 共44页
数据结构原理与分析01343下复习资料.docx_第2页
第2页 / 共44页
数据结构原理与分析01343下复习资料.docx_第3页
第3页 / 共44页
数据结构原理与分析01343下复习资料.docx_第4页
第4页 / 共44页
数据结构原理与分析01343下复习资料.docx_第5页
第5页 / 共44页
点击查看更多>>
下载资源
资源描述

数据结构原理与分析01343下复习资料.docx

《数据结构原理与分析01343下复习资料.docx》由会员分享,可在线阅读,更多相关《数据结构原理与分析01343下复习资料.docx(44页珍藏版)》请在冰豆网上搜索。

数据结构原理与分析01343下复习资料.docx

数据结构原理与分析01343下复习资料

数据结构原理与分析-01343-18日下-复习资料

一、填空

1.线性表是具有n个什么的有限序列(数据元素)。

2.邻接表的存储结构下图的深度优先遍历类似于二叉树的(先序遍历)。

3.在一棵二叉树的二叉链表中,空指针域数等于非空指针域数加

(2)。

4.某二叉树的前序和后序序列正好相反,则该二叉树一定是什么二叉树(高度等于其结点数)。

5.对于栈操作数据的原则是(后进先出)。

6.结点前序为xyz的不同二叉树,所具有的不同形态为(5)。

7.设长度为n的链队列用单循环链表表示,若只设头指针,则入队操作的时间复杂度为(O(n))。

8.在一棵高度为h(假定树根结点的层号为0)的完全二叉树中,所含结点个数不小于(2h)。

9.具有n个顶点的有向无环图最多可包含有向边的条数是(n(n-1)/2)。

10.因此在初始为空的队列中插入元素a,b,c,d以后,紧接着作了两次删除操作,此时的队尾元素是(d).

11.若二叉树中度为2的结点有15个,度为1的结点有10个,则叶结点的个数(16)。

12.对于一棵满二叉树,m个树叶,n个结点,深度为h,则(n=2h+1-1)。

13.在一棵具有n个结点的二叉树中,所有结点的空子树个数等于(n+1)

14.用邻接表表示图进行深度优先遍历时,通常用来实现算法的辅助结构是(栈)。

15.堆的形状是一棵(完全二叉树)。

16.若在一棵非空树中,某结点A有3个兄弟结点(包括A自身),B是A的双亲结点,则B的度为(4)。

17.任何一个无向连通图的最小生成树(有一棵或多棵)

18.在非空二叉树的中序遍历序列中,二叉树的根结点的左边应该(只有左子树上的所有结点)。

19.排序方法中,从未排序序列中依次取出元素与已排序序列中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为(插入排序)。

20.对于一棵满二叉树,m个树叶,n个结点,深度为h,则(n=2h+1-1)。

21.具有n个顶点的有向图最多可包含的有向边的条数是(n(n-1))。

22.某二叉树的前序和后序序列正好相同,则该二叉树一定是什么样的二叉树(空或只有一个结点)。

23.栈和队列的主要区别在于(插入删除运算的限定不一样)。

24.串是(任意有限个字符构成的序列)。

25.对有14个数据元素的有序表R[14]进行折半搜索,搜索到R[3]的关键码等于给定值,此时元素比较顺序依次为(R[6],R[2],R[4],R[3])。

26.深度为h且有多少个结点的二叉树称为满二叉树(2h+1-1)。

27.在含n个顶点e条边的无向图的邻接矩阵中,零元素的个数为(n2-2e)。

28.在一个有向图中,所有顶点的入度之和与所有顶点出度之和的倍数为

(1)。

29.邻接表的存储结构下图的广度优先遍历类似于二叉树的(按层遍历)。

30.设高度为h的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为(2h-1)。

31.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是(11)

32.在一棵具有n个结点的二叉树中,所有结点的空子树个数等于(n+1)

33.若一棵二叉树有11个度为2的结点,则该二叉树的叶结点的个数是(12)。

34.对有n个记录的表按记录键值有序建立二叉查找树,在这种情况下,其平均查找长度的量级为(O(n))。

35.设森林F中有三棵树,第一、第二和第三棵的结点个数分别为m1,m2和m3,则森林F对应的二叉树根结点上的右子树上结点个数是(m2+m3)。

36.对有18个元素的有序表作二分(折半)查找,则查找A[3]的比较序列的下标为(9、4、2、3)。

37.若要在O

(1)的时间复杂度上实现两个循环链表头尾相接,则应对两个循环链表各设置一个指针,分别指向(各自的尾结点)。

38.深度为h的满二叉树所具有的结点个数是(2h+1-1)。

39.设高度为h的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为(2h-1)。

40.如果T2是由有序树T转换而来的二叉树,那么T中结点的先根序列就是T2中结点的(先根序列)。

41.有n个叶子的哈夫曼树的结点总数为(2n-1)。

42.设长度为n的链队列用单循环链表表示,若只设头指针,则入队操作的时间复杂度为(O(n))。

43.若二叉树中度为2的结点有15个,度为1的结点有10个,则叶子结点的个数为(16)。

44.若某完全二叉树的深度为h,则该完全二叉树中具有的结点数至少是(2h-1)。

45.叉树的前序和后序序列正好相反,则该二叉树一定是什么二叉树(度等于其结点数)。

46.初始序列已经按键值有序时,用直接插入算法进行排序,需要比较的次数为(n-1)。

47.接表表示图进行广度优先遍历时,为实现算法通常采用的辅助结构是(队列)。

48.用冒泡排序法对序列{18,16,14,12,10,8}从小到大进行排序,需要进行的比较次数是(15)。

49.有n个顶点的图采用邻接矩阵表示,则该矩阵的大小为(n*n)。

50.6个顶点的无向图成为一个连通图至少应有边的条数是(5)。

51.单链表中,增加头结点的目的是为了(方便运算的实现)。

52.在线索二叉树中,结点(*t)没有左子树的充要条件是(t->ltag==1)。

53.按照二叉树的定义,具有3个结点的二叉树有多少种(5)。

54.对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列施加同样的排序操作,直到子序列为空或只剩一个元素为止。

这样的排序方法是(快速排序)

55.二分查找法要求查找表中各元素的键值必须是(递增或递减)。

56.线性表的长度是指(表中的元素个数)

57.将长度为m的单链表连接在长度为n的单链表之后的算法的时间复杂度为(O(n))。

58.有一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当二分查找值为82的结点时,查找成功的比较次数是(4)。

.

59.若在一棵非空树中,某结点A有3个兄弟结点(包括A自身),B是A的双亲结点,则B的度为(4)。

60.深度为h的满二叉树具有的结点个数为(2h+1-1)。

61.用二叉链表存储树,则根结点的右指针是(空)。

62.个无向图中,所有顶点的度数之和等于所有边数

(1)倍。

63.单链表表示的链式队列的队头在链表的什么位置(链头)。

64.线性表的长度是指(表中的元素个数)

65.某二叉树的前序和后序序列正好相同,则该二叉树一定是什么样的二叉树(空或只有一个结点)。

66.在一棵具有n个结点的二叉树中,所有结点的空子树个数等于(n+1)。

67.一个具有n个顶点e条边的无向图中,采用邻接表表示,则所有顶点的邻接表的结点总数为(2e)。

68.链栈和顺序栈相比,有一个较明显的优点是(通常不会出现栈满的情况)。

69.对于键值序列{72,73,71,23,94,16,5,68,76,103}用筛选法建堆,开始结点的键值必须为(94)。

70.在图形结构中,每个结点的前驱结点数和后续结点数可以有(任意多个)。

71.对有n个记录的有序表采用二分查找,其平均查找长度的量级为(O(log2n))。

72.在一棵高度为h(假定树根结点的层号为0)的完全二叉树中,所含结点个数不小于(2h)。

73.若一棵二叉树有10个叶结点,则该二叉树中度为2的结点个数为9。

74.设有一个顺序栈S,元素S1,S2,S3,S4,S5,S6依次进栈,如果6个元素的出栈顺序为S2,S3,S4,S6,S5,S1,则顺序栈的容量至少应为3。

75.对于一棵二叉树,设叶子结点数为n0,次数为2的结点数为n2,则n0和n2的关系是n0=n2+1。

76.若一棵二叉树有12个叶结点,则该二叉树中度为2的结点个数为11。

77.二叉树的存储结构有顺序存储结构和链式存储结构。

78.深度为h且有2k-1个结点的二叉树称为满二叉树。

(设根结点处在第1层)。

79.图的深度优先搜索方法类似于二叉树的先序遍历。

80.哈夫曼树是带权路径长度最小的二叉树。

81.在线索二叉树中,线索是指向结点在某遍历次序下的前驱或后继结点的指针。

82.栈可以作为实现递归函数调用的一种数据结构。

83.一般树的存储结构有双亲表示法、孩子兄弟表示法和孩子链表表示法。

84.将数据元素2,4,6,8,10,12,14,16,18,20依次存于一个一维数组中,然后采用折半查找元素12,被比较过的数组元素的下标依次为5,7,6。

85.图的深度优先遍历序列不是唯一的。

86.若二叉树的一个叶子结点是某子树的中根遍历序列中的第一个结点,则它必是该子树的后跟遍历中的第一个结点。

87.图的遍历是指从图中某一顶点出发访问图中全部顶点且使每一顶点仅被_访问一次。

88.在一个图中,所有顶点的度数之和等于所有边的数目的2倍。

89.由一棵二叉树的后序序列和中序序列可唯一确定这棵二叉树。

90.在有序表(12,24,36,48,60,72,84)中二分查找关键字72时所需进行的关键字比较次数为2。

91.设根结点的层数为0,定义树的高度为树中层数最大的结点的层数加1,则高度为k的二叉树具有的结点数目,最少为k,最多为2k-1。

92.在直接插入排序、直接选择排序、分划交换排序、堆排序中稳定的排序方法有直接插入排序。

93.具有100个结点的完全二叉树的叶子结点数为50。

94.普里姆(Prim)算法适用于边稠密图。

95.在有n个叶子结点的哈夫曼树中,其结点总数为2n-1。

96.将一棵树转换成一棵二叉树后,二叉树根结点没有右子树。

97.矩阵采用压缩存储是为了节省空间

98.若连通网络上各边的权值均不相同,则该图的最小生成树有1棵。

99.设无向图G的顶点数为n,则要使G连通最少有n-1条边。

100.栈和队列的共同特点是插入和删除均在端点处进行。

101.克鲁斯卡尔(Kruskar)算法适用于边稀疏图。

102.若连通图的顶点个数为n,则该图的生成树的边数为n-1。

103.图的存储结构最常用的有邻接矩阵和邻接表。

104.由一棵二叉树的前序序列和中序序列可唯一确定这棵二叉树。

105.队列中允许进行插入的一端称为队尾。

106.拓扑排序输出的顶点数小于有向图的顶点数,则该图一定存在环。

107.在有序表(15,23,24,45,48,62,85)中二分查找关键词23时所需进行的关键词比较次数为2。

108.树中所有结点的度等于所有结点数加(-1)。

109.在一个具有n个顶点的完全无向图的边数为(n(n-1)/2)。

110.用分划交换排序方法对包含有n个关键的序列进行排序,最坏情况下执行的时间杂度为(O(n2))

111.一棵高度为h(假定树根结点的层号为0)的完全二叉树中,所含结点个数不小于(2h)。

112.若长度为n的非空线性表采用顺序存储结构,删除表的第i个数据元素,首先需要移动表中数据元素的个数是(n-i)。

113.在非空二叉树的中序遍历序列中,二叉树的根结点的左边应该(只有左子树上的所有结点)。

114.若一棵二叉树具有45个度为2的结点,6个度为1的结点,则度为0的结点个数是(46)。

115.在一个有向图中,所有顶点的入度之和等于所有边数(4)倍。

116.设输入序列为A,B,C,D,借助一个栈不可以得到的输出序列是(D,A,B,C)。

117.一维数组A采用顺序存储结构,每个元素占用6个字节,第6个元素的起始地址为100,则该数组的首地址是(70)。

118.设abcdef以所给的次序进栈,若在进栈操作时,允许退栈操作,则下面得不到的序列为(cbdef)。

119.一般情况下,将递归算法转换成等价的非递归算法应该设置(堆栈)。

120.若长度为n的非空线性表采用顺序存储结构,删除表的第i个数据元素,i的合法值应该

121.是(C.1≤i≤n)。

122.若某线性表中最常用的操作是取第i个元素和删除最后一个元素,则采用什么存储方

123.式最节省时间(顺序表)。

124.一组记录的关键字为{45,80,55,40,42,85},则利用堆排序的方法建立的初始堆为(85,80,55,40,42,45)。

125.设有6000个无序的元素,希望用最快的速度挑选出其中前5个最大的元素,最好选用(堆排序)法。

126.排序方法中,从未排序序列中挑选元素,将其放入已排序序列的一端的方法,称为(选择排序)。

127.带头结点的单链表head为空的判断条件是(head->next==NULL)。

128.在一个单链表中,若删除(*p)结点的后继结点,则执行(p->next=p->next->next)。

129.在一棵具有n个结点的二叉树中,所有结点的空子树个数等于(n+1)

130.有向图中,以顶点v为终点的边的数目,称为顶点v的(入度)。

131.若频繁地对线性表进行插入和删除操作,该线性表应该采用的存储结构是(链式)。

132.设一个栈的输入序列是1,2,3,4,5,则下列序列中,是栈的合法输出序列的是(32154)。

133.有数据{53,30,37,12,45,24,96},从空二叉树开始逐个插入数据来形成二叉查找树,若希望高度最小,则应选择下面输入序列是(37,24,12,30,53,45,96)。

134.二叉树的第I层上最多含有结点数为(2I)。

135.稀疏矩阵一般采用的压缩存储方法为(三元组表)。

136.某二叉树的前序和后序序列正好相同,则该二叉树一定是什么样的二叉树(空或只有一个结点)。

137.若长度为n的线性表采用顺序存储结构,在表的第i个位置插入一个数据元素,需要移动表中元素的个数是(n-i+1)。

138.设有数组A[i,j],数组的每个元素长度为3字节,i的值为1到8,j的值为1到10,数组从内存首地址BA开始顺序存放,当用以列为主存放时,元素A[5,8]的存储首地址为(BA+180)。

139.二维数组A[5][6]的每个元素占5个单元,将其按行优先顺序存储在起始地址为3000的连续的内存单元中,则元素A[4][5]的存储地址为(3145)。

140.一个具有n个顶点的图采用邻接矩阵表示,则该矩阵的大小为(n*n)。

141.若字符串“1234567”采用链式存储,假设每个字符占用1个字节,每个指针占用2个字节,则该字符串的存储密度为(33.3﹪)。

142.若在一棵非空树中,某结点A有3个兄弟结点(包括A自身),B是A的双亲结点,则B的度为(3)。

143.设有三个元素X,Y,Z顺序进栈(进的过程中允许出栈),下列得不到的出栈排列是(ZXY)。

144.树形结构的特点是:

一个结点可以有(多个直接后继)。

145.使具有30个顶点的无向图成为一个连通图至少应有边的条数是(29)。

146.使具有9个顶点的无向图成为一个连通图至少应有边的条数是(8)。

147.在顺序表(n足够大)中进行顺序查找,其查找不成功的平均长度是(n+1)。

148.设树T的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1则T中的叶子数为(8)。

149.栈的插入和删除操作进行的位置在(栈顶)。

150.若一棵二叉树具有20个度为2的结点,6个度为1的结点,则度为0的结点个数是(21)。

151.一棵线索二叉树的线索个数比链接个数多

(2)个。

152.在循环链表中,从任何一结点出发都能访问到表中的所有结点。

153.在n个结点的顺序表中插入一个结点需平均移动n/2个结点。

154.循环队列的引入,目的是为了克服假溢出。

155.若连通网络上各边的权值均不相同,则该图的最小生成树有1棵。

156.二叉树的遍历方式有三种:

先序遍历、中序遍历、后序遍历。

157.若一棵二叉树有15个叶结点,则该二叉树中度为2的结的点个数为14。

158.设某二叉树的后序遍历序列为ABKCBPM,则可知该二叉树的根为M。

159.数据结构的三个方面:

数据的逻辑结构、物理结构、运算。

160.每个结点只有一个链接域的链表叫做单链表。

161.组成串的数据元素只能是字符。

162.具有n个结点的二叉树采用链接结构存储,链表中存放NULL指针域的个数为(n+1)。

163.在一个无向图中,所有顶点的度数之和等于所有边数

(2)倍。

164设二叉树根结点的层次为0,一棵高度为h的满二叉树中的结点个数是(2h+1-1)。

165.将一棵有50个结点的完全二叉树按层编号,则对编号为25的结点x,该结点(有左孩子,无右孩子)。

166.树(或树形)的定义是什么?

答:

一个树(或树形)就是一个有限非空的结点集合T,其中有一个特别标出的称为该树之根root(T)的结点;其余(除根外)的结点划分成

个不相交集合

而且这些集合的每一个又都是树。

167在图形结构中,每个结点的前驱结点数和后续结点数可以有(任意多个)。

168.什么是树的路径长度?

答:

树的路径长度是指从根结点到树中每个叶结点的路径长度之和。

二、选择

1.若某线性表中最常用的操作是取第i个元素和删除最后一个元素,则采用什么存储方式最节省时间(A)。

A.顺序表B.单链表C.双链表D.单循环链表

2.在下述的排序方法中,不属于内排序方法的是(C)。

A.插入排序法B.选择排序法C.拓扑排序法D.归并排序法

3.下列四个关键词序列中,不是堆的序列为(C)。

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}

4.下列排序算法中,某一趟结束后未必能选出一个元素放其最终位置上的是(D)。

A.堆排序B.冒泡排序C.快速排序D.直接插入排序

5.用孩子兄弟链表表示一棵树,若要找到结点x的第5个孩子,只要先找到x的第一个孩子,然后(D)。

A.从孩子域指针连续扫描5个结点即可B.从孩子域指针连续扫描4个结点即可

C.从兄弟域指针连续扫描5个结点即可D.从兄弟域指针连续扫描4个结点即可

6.链栈和顺序栈相比,有一个较明显的优点是(A)。

A.通常不会出现栈满的情况B.通常不会出现栈空的情况

C插入操作更加方便D.删除操作更加方便

7.任何一棵二叉树的叶结点在其先根、中根、后根遍历序列中的相对位置(C)。

A.肯定发生变化B.有时发生变化C.肯定不发生变化D.无法确定

8.排序方法中,从未排序序列中挑选元素,将其放入已排序序列的一端的方法,称为(D)。

A.希尔排序B.冒泡排序C.插入排序D.选择排序

9.堆是一种什么排序(B)。

A.插入B.选择C.交换D.归并

10.下列排序方法中不稳定的排序是(C)。

A.直接插入排序B.冒泡排序C.堆排序D.归并排序

11.一个无向连通图的生成树是含有该连通图的全部顶点的(A)。

A.极小连通子图B.极大连通子图C.极小子图D.极大子图

12.如下陈述中正确的是(A)。

A.串是一种特殊的线性表B.串的长度必须大于零

B.串中元素只能是字母D.空串就是空白串

13.快速排序不利于发挥其长处的情况是(C)。

[A]待排序数据量太大[B]待排序数据相同值过多

[C]待排序数据已基本有序[D]待排序数据值差过大

14.性表中采用折半查找法查找元素,该线性表必须满足(C)。

[A]元素按值有序[B]采用顺序存储结构

[C]元素按值有序,且采用顺序存储结构[D]元素按值有序,且采用链式存储结构

15.r在排序前已按元素键值递增顺序排列,则比较次数较少的排序方法是(A)。

A.直接插入排序B.快速排序C.归并排序D.选择排序

16.一个递归的定义可以用递归过程求解,也可以用非递归过程求解,但单从运行时间来看,通常递归过程比非递归过程(B)A.较快B.较慢C.相同D.不确定

17.如果待排序序列中两个数据元素具有相同的值,在排序后它们的位置发生颠倒,则称该排序是不稳定的。

不稳定的排序方法是(D)。

A.起泡排序B.归并排序C.直接插入法排序D.简单选择排序

18.将一棵有50个结点的完全二叉树按层编号,则对编号为25的结点x,该结点(B)。

A.无左、右孩子B.有左孩子,无右孩子C.有右孩子,无左孩子D.有左、右孩子

19.若某链表最常用的操作是在最后一个结点之后插入一个结点和删除最后一个结点,则采用那种存储方式最节省时间(C)。

A.单链表B.双链表C.带头结点的双循环链表D.单循环链表

20.下列排序算法中,第一趟排序完毕后,其最大或最小元素一定在其最终位置上的算法是(D)。

A.归并排序B.直接插入排序C.快速排序D.冒泡排序

21.树形结构最适合用来描述(C)。

[A]有序的数据元素[B]无序的数据元素

[C]数据元素之间具有层次关系的数据[D]数据元素之间没有关系的数据

22.设有7000个无序的元素,希望用最快的速度挑选出其中前5个最大的元素,最好选用方法是(C)。

A.冒泡排序B.快速排序C.堆排序D.基数排序

23.链表不具有的特点是(A)。

A.可随机访问任一元素B.插入删除不需要移动元素

C.不必事先估计存储空间D.所需空间与线性表长度成正比

24.若待排序对象序列在排序前已按其排序码递增顺序排序,则比较次数最少的方法排序是(A)。

A.直接插入排序B.快速排序C.归并排序D.直接选择排序

25.下列关键字序列中是堆的序列为(D)。

A.16,72,31,23,94,53B.94,23,31,72,16,53B.16,53,23,94,31,72D.16,23,53,31,94,72

26.下列四个关键字序列中,那个序列不是堆(C)。

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}

27.下面4个序列中,满足堆的定义是(D)。

A.13,27,49,76,76,38,85,97B.76,38,27,49,76,85,13,97

C.13,76,49,76,27,38,85,97D.13,27,38,76,49,85,76,97

28.采用线性探查法处理冲突所构成的散列表上进行查找,可能要探测到多个位置,在查找成功情况下,所探测的这些位置上的键值(D)。

A.一定都是同义词B.一定都不是同义词C.都相同D.不一定都是同义词

29.性表中采用折半查找法查找元素,该线性表必须满足(C)。

[A]元素按值有序[B]采用顺序存储结构

[C]元素按值有序,且采用顺序存储结构[D]元素按值有序,且采用链式存储结构

三、简答

1.对于一个队列,如果输入项序列由1,2,3,4所组成,试给出全部可能的输出序列。

答:

1,2,3,4。

2.将表达式(a+b)*c+d-(e+g)*h改写成后缀表达式。

答:

后缀表达式为:

ab+c*d+eg+h*-

3.对于一个栈,给出输入序列A,B,C,试给出全部可能的输出序列。

答:

解:

输出序列为:

ABC,CBA,A

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 工作计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1