数据结构应用题练习Word格式文档下载.docx
《数据结构应用题练习Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据结构应用题练习Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
1画出这棵二叉树。
2画出这棵二叉树的后序线索树。
3将这棵二叉树转换成对应的树(或森林)。
,中序序列:
BFDAGEHC
1、已知一棵二叉树的前序序列为:
A,B,D,G,J,E,H,C,F,I,K,L中序序列:
D,J,G,B,E,H,
A,C,K,I,L,F。
i.写出该二叉树的后序序列;
ii.画出该二叉树;
iii.求该二叉树的高度(假定空树的高度为一1)和度为2、度为1、及度为0的结点个数。
该二叉树的后序序列为:
J,G,D,H,E,B,K丄,I,F,C,A。
该二叉树高度为:
5。
度为2的结点的个数为:
3。
度为1的结点的个数为:
度为0的结点个数为:
4。
5、试用权集合{12,4,5,6,1,2}构造哈夫曼树,并计算哈夫曼树的带权路径长度。
答案:
WPL=12*1+(4+5+6)*3+(1+2)*4=12+45+12=69
6、已知权值集合为{5,723,6,9},要求给出哈夫曼树,并计算
带权路径长度WPLo
(1)树形态:
19
10
WPL=(6+7+9)*2+5*3+(2+3)*4=44+15+20=79
(3)假设用于通信的电文仅由8个字母组成,字母在电文中出现的频率分别为0.07,
0.19,0.02,0.06,0.32,0.03,0.21,0.10。
1试为这8个字母设计赫夫曼编码。
2试设计另一种由二进制表示的等长编码方案。
3对于上述实例,比较两种方案的优缺点。
解:
方案1;
哈夫曼编码先将概率放大100倍,以方便构造哈夫曼树。
w={7,19,2,6,32,3,21,10},按哈夫曼规则:
【[(2,3),6],(7,10)】,……19,21,32
方案比较:
字母
编号
对应
编码
出现
频率
1
1100
0.07
2
00
0.19
3
11110
0.02
4
1110
0.06
5
0.32
方案1
000
001
010
011
100
6
101—
003—
的WPL
图6.27有
2(0.19+0.32+0.21)+4(0.07+0.06+0.10)+5(0.02+0.03)=1.44+0.92+0.25=2.61方案2的WPL=3(0.19+0.32+0.21+0.07+0.06+0.10+0.02+0.03)=3结论:
哈夫曼编码优于等长二进制编码
2•应用题
(1)已知如图6.27所示的有向图,请给出:
1每个顶点的入度和出度;
2邻接矩阵;
3邻接表;
4逆邻接表。
隹点
-,
)
-
出鹰
0'
]
L1
0.
32-4IE
IR*C&
4IE
(豹邻畏叢(4)^55接農
*A
上」]»
」_______
*~r^?
1.4^11*wnn
2AOE网G如下所示,求关键路径。
(要求标明每个顶点的最早发生
时间和最迟发生时间,并画出关键路径)
(1)最早发生时间和最迟发生时间:
(2)关键路径:
顶点
ve
vl
v0
v1
v2
v3
6
v4
v5
8
(2)已知如图6.28所示的无向网,请给出:
1邻接矩阵;
2邻接表;
3最小生成树
图6.28无
abcde
43
455
355
55
97
54
765
32
b
t
a
9
d
c
tttt
(3)已知图的邻接矩阵如先生成树和广度优先生成树。
6.29所示。
试分别画出自顶点
1出发进行遍历所得的深度优
(2)根据prim算法,求图G从顶点1出发的最小生成树,要求表示出其每一步生成过程。
(用图或者表的方式均可)。
图6.29邻接矩
615
653
15564
552
366
426
(1)广度优先遍历序列:
1;
2,3,4;
5;
6
⑵最小生成树(prim算法)
(5)设哈希表的地址范围为0〜17,哈希函数为:
H(key)=key%16。
用线性探测法处理冲突,输入关键字序列:
(10,24,32,17,31,30,46,47,40,63,49),构造哈希表,试回答下列问题:
1画出哈希表的示意图;
2若查找关键字63,需要依次与哪些关键字进行比较?
3若查找关键字60,需要依次与哪些关键字比较?
4假定每个关键字的查找概率相等,求查找成功时的平均查找长度。
①画表如下:
7
11
12
13
14
15
16
17
32
63
49
24
40
30
31
46
47
②查找63,首先要与H(63)=63%16=15号单元内容比较,即63vs31,no;
然后顺移,与46,47,32,17,63相比,一共比较了6次!
3查找60,首先要与H(60)=60%16=12号单元内容比较,但因为12号单元为空(应当有空标记),所以应当只比较这一次即可。
4对于黑色数据元素,各比较1次;
共6次;
对红色元素则各不相同,要统计移位的位数。
“63”需要6次,“49”需要3次,“40”需要
2次,“46”需要3次,“47”需要3次,
所以ASL=1/11(6+2+3X3+6)=23/11
设散列表的长度为m=13,散列函数为H(k)=kMODm,给定的关
键码序列为19,14,23,1,68,20,84,27,55,11,13,7,试写出用线性探查法解决冲突时所构造的散列表。
表形态:
0123456789101112
1314168275519208472311
112143113311
(2)在一棵空的二叉排序树中依次插入关键字序列为12,7,17,11,16,2,13,9,21,
4,请画出所得到的二叉排序树。
211
1621
验算方法:
用中序遍历应得到排序结果:
2,4,7,9,11,12,13,16,17,21
(3)已知如下所示长度为12的表:
(Jan,Feb,Mar,Apr,May,June,July,Aug,Sep,Oct,Nov,Dec)
1试按表中元素的顺序依次插入一棵初始为空的二叉排序树,画出插入完成之后的二叉排序树,并求其在等概率的情况下查找成功的平均查找长度。
2若对表中元素先进行排序构成有序表,求在等概率的情况下对此有序表进行折半查找时查找成功的平均查找长度。
3按表中元素顺序构造一棵平衡二叉排序树,并求其在等概率的情况下查找成功的
平均查找长度。
解:
C1)求得的二夏排序树如下图所旅*在等概率情况F査找成功的平均査找长度为
ASL^=吉<1Xl+2X2+3X3+4X3+5X2+6Xl)*|x
Nov
Oct
经排序后的表及在折半査找时找釧丧中元索所经比较的次数对腿如卜1
—一_——一―
AprAugDetFebJanJulyJuneMarMayNovOctSept
342341342434
等概率悄况下査找成功时的平均査找长度为
ASL.=^(1X1+2X2+3X4+1X5)=||
它在等槪率情况下的¥
均査找长度为
]38
ASL=書(1Xl+2X2+3X^+4X4+5Xl)=j2
⑦堆排序
第一步,形成初始大根堆(详细过程略),第二步做堆排序。
初始排序不是大根堆
形成初始大根堆
交换1与10对象
交换1与9对象
从1到8重新形成堆
交换1与8对象
从1到7重新形成堆
交换1与6对象
从1到5重新形成堆
交换1与5对象
从1到4重新形成堆
交换1与4对象
从1到3重新形成堆
16*
18
2028
得到结果
交换1与2对象
91、对于如下图请画出其用prim和kruskal两种不同算法生成最小生成树的各条边的并入顺
序。
画出最小生成树。
并写出广度优先和深度优先的结点遍历顺序。
92、什么是静态查找,什么时动态查找,什么叫平均查找长度。
93、用序列(46,88,45,39,70,58,101,10,66,34)建立一个二叉排序树,画出该树,并求在等概率情况下查找成功的平均查找长度。
000
94、已知一个线性表(38,25,74,63,52,48),假定采用h(k)=k%7计算散列地址进行散列存储,若引用线性探测的开放地址法
解决冲突,则在该散列表上进行检索的平均检索长度为多少,若利用连地址法处理冲突,则
在该散列表上进行检索的平均查找长度为多少?
设地址空间为9。
请画出算列表。
96、已知长度为12的表:
(Jan,Fed,Mar,Apr,May,Jun,Aug,Sep,Oct,Nov,Dec)按表中元素的顺序,依次插入一棵初始为空的二叉排序树,画出插完之后的二叉排序树,并求其在等概率情况下,查找成功的平均查找长度。
98、有散列函数为h(k)=k%11,如果用二次探测在散列的方式解决冲突,49应放入哪?
38
61
84