《数据结构》第二版严蔚敏课后习题作业参考答案17章.docx
- 文档编号:7442890
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:12
- 大小:298.89KB
《数据结构》第二版严蔚敏课后习题作业参考答案17章.docx
《《数据结构》第二版严蔚敏课后习题作业参考答案17章.docx》由会员分享,可在线阅读,更多相关《《数据结构》第二版严蔚敏课后习题作业参考答案17章.docx(12页珍藏版)》请在冰豆网上搜索。
《数据结构》第二版严蔚敏课后习题作业参考答案17章
第1章
4.答案:
(1)顺序存储结构
顺序存储结构是借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系,通常借助程序设计语言的数组类型来描述。
(2)链式存储结构
顺序存储结构要求所有的元素依次存放在一片连续的存储空间中,而链式存储结构,无需占用一整块存储空间。
但为了表示结点之间的关系,需要给每个结点附加指针字段,用于存放后继元素的存储地址。
所以链式存储结构通常借助于程序设计语言的指针类型来描述。
5.选择题
(1)~(6):
CCBDDA
\
6.
(1)O
(1)
(2)O(m*n)(3)O(n2)
(4)O(log3n)(5)O(n2)(6)O(
)
(
第2章
1.选择题
(1)~(5):
BABAD(6)~(10):
BCABD(11)~(15):
CDDAC
\
2.算法设计题
(1)将两个递增的有序链表合并为一个递增的有序链表。
要求结果链表仍使用原来两个链表的存储空间,不另外占用其它的存储空间。
表中不允许有重复的数据。
[题目分析]
合并后的新表使用头指针Lc指向,pa和pb分别是链表La和Lb的工作指针,初始化为相应链表的第一个结点,从第一个结点开始进行比较,当两个链表La和Lb均为到达表尾结点时,依次摘取其中较小者重新链接在Lc表的最后。
如果两个表中的元素相等,只摘取La表中的元素,删除Lb表中的元素,这样确保合并后表中无重复的元素。
当一个表到达表尾结点,为空时,将非空表的剩余元素直接链接在Lc表的最后。
voidMergeList(LinkList&La,LinkList&Lb,LinkList&Lc)
{法设计题
(1)将编号为0和1的两个栈存放于一个数组空间V[m]中,栈底分别处于数组的两端。
当第0号栈的栈顶指针top[0]等于-1时该栈为空,当第1号栈的栈顶指针top[1]等于m时该栈为空。
两个栈均从两端向中间增长。
试编写双栈初始化,判断栈空、栈满、进栈和出栈等算法的函数。
双栈数据结构的定义如下:
Typedefstruct
]
{inttop[2],bot[2];
第5章
,
1.选择题
(1)~(5):
ADDCA(6)~(10):
CCBDC(11)~(15):
BCACA
2.应用题
(2)设一棵二叉树的先序序列:
ABDFCEGH,中序序列:
BFDAGEHC
①画出这棵二叉树。
②画出这棵二叉树的后序线索树。
③将这棵二叉树转换成对应的树(或森林)。
答案:
`
-
①②
(3)假设用于通信的电文仅由8个字母组成,字母在电文中出现的频率分别为,,,,,,,。
①试为这8个字母设计赫夫曼编码。
②试设计另一种由二进制表示的等长编码方案。
③对于上述实例,比较两种方案的优缺点。
答案:
~
①先将概率放大100倍,以方便构造哈夫曼树。
w={7,19,2,6,32,3,21,10},按哈夫曼规则得到的哈夫曼编码为:
字母编号
对应编码
出现频率
1
000
2
(
001
3
010
4
011
·
5
100
6
101
7
110
.
8
111
②等长编码:
字母编号
!
对应编码
出现频率
1
1010
2
00
…
3
10000
4
1001
5
11
-
6
10001
7
01
8
"
1011
(
③方案1的WPL=2+++4+++5+=++=
方案2的WPL=3+++++++=3
结论:
哈夫曼编码优于等长二进制编码
!
(4)已知下列字符A、B、C、D、E、F、G的权值分别为3、12、7、4、2、8,11,试填写出其对应哈夫曼树HT的存储结构的初态和终态。
答案:
初态:
weight
parent
lchild
!
rchild
1
3
0
0
0
2
12
|
0
0
0
3
7
0
0
0
】
4
4
0
0
0
5
2
0
。
0
0
6
8
0
0
0
7
)
11
0
0
0
8
0
0
:
0
9
0
0
0
10
*
0
0
0
11
0
0
0
(
12
0
0
0
13
0
:
0
0
!
)
终态:
weight
parent
&
lchild
rchild
1
3
8
0
0
2
|
12
12
0
0
3
7
10
0
?
0
4
4
9
0
0
5
2
(
8
0
0
6
8
10
0
0
`
7
11
11
0
0
8
5
9
《
5
1
9
9
11
4
8
10
~
15
12
3
6
11
20
13
9
{
7
12
27
13
2
10
13
47
《
0
11
12
|
(
3.算法题
(1)统计二叉树的叶结点个数。
[题目分析]如果二叉树为空,返回0,如果二叉树不为空且左右子树为空,返回1,如果二叉树不为空,且左右子树不同时为空,返回左子树中叶子节点个数加上右子树中叶子节点个数。
[算法描述]
intLeafNodeCount(BiTreeT)
{
@
if(T==NULL)
return0;择题
(1)~(5):
CBBBC(6)~(10):
BABAA(11)~(15):
DCC(DD)B
2.应用题
(2)已知如图所示的无向网,请给出:
①邻接矩阵;
②邻接表;
》
③最小生成树
答案:
①
]
②
③
)
(3)已知图的邻接矩阵如图所示。
试分别画出自顶点1出发进行遍历所得的深度优先生成树和广度优先生成树。
、
…
3.算法设计题
(2)
VoidDFSn(ALGraphG,intv)
{ata;irsttarc;p!
=NULL;p=p->nextarc)
{w=p->adjvex;
if(!
visited[w]&&w!
=GetTop(s))Push(s,w);择题
(1)~(5):
CDCAB(6)~(10):
CCCDC(11)~(15):
BCADA
《
2.应用题
(1)假定对有序表:
(3,4,5,7,24,30,42,54,63,72,87,95)进行折半查找,试回答下列问题:
①画出描述折半查找过程的判定树;
②若查找元素54,需依次与哪些元素比较
③若查找元素90,需依次与哪些元素比较
④假定每个元素的查找概率相等,求查找成功时的平均查找长度。
答案:
}
①先画出判定树如下(注:
mid=(1+12)/2=6):
30
563
374287
424547295
②查找元素54,需依次与30,63,42,54元素比较;
③查找元素90,需依次与30,63,87,95元素比较;
④求ASL之前,需要统计每个元素的查找次数。
判定树的前3层共查找1+2×2+4×3=17次;
[
但最后一层未满,不能用8×4,只能用5×4=20次,
所以ASL=1/12(17+20)=37/12≈
(2)在一棵空的二叉排序树中依次插入关键字序列为12,7,17,11,16,2,13,9,21,4,请画出所得到的二叉排序树。
答案:
12
7
17
2111621
?
4913
验算方法:
用中序遍历应得到排序结果:
2,4,7,9,11,12,13,16,17,21
(5)设哈希表的地址范围为0~17,哈希函数为:
H(key)=key%16。
用线性探测法处理冲突,输入关键字序列:
(10,24,32,17,31,30,46,47,40,63,49),构造哈希表,试回答下列问题:
①画出哈希表的示意图;
②若查找关键字63,需要依次与哪些关键字进行比较
③若查找关键字60,需要依次与哪些关键字比较
④假定每个关键字的查找概率相等,求查找成功时的平均查找长度。
答案:
~
①
要求写出计算过程
哈希表表如下:
0
1
2
3
4
。
5
6
7
8
9
10
11
12
…
13
14
15
16
17
32
17
63
@
49
24
40
10
\
30
31
46
47
②查找63,首先要与H(63)=63%16=15号单元内容比较,即63与31比较,不匹配;
然后顺移,与46,47,32,17,63相比,一共比较了6次
③查找60,首先要与H(60)=60%16=12号单元内容比较,但因为12号单元为空(应当有空标记),所以应当只比较这一次即可。
④ASL=(6+2+3×3+6)/11=23/11
(6)设有一组关键字(9,01,23,14,55,20,84,27),采用哈希函数:
H(key)=key%7,表长为10,用开放地址法的二次探测法处理冲突。
要求:
对该关键字序列构造哈希表,并计算查找成功的平均查找长度。
限定di=12,22,…k2(k<=m/2)
答案:
要求写出计算过程
散列地址
0
1
2
3
4
5
6
7
8
9
关键字
14
1
9
23
84
27
55
20
比较次数
1
1
1
2
3
4
1
2
平均查找长度:
ASLsucc=(1+1+1+2+3+4+1+2)/8=15/8
以关键字27为例:
H(27)=27%7=6(冲突)H1=(6+1)%10=7(冲突)
H2=(6+22)%10=0(冲突)H3=(6+33)%10=5所以比较了4次。
3.算法设计题
(1)试写出折半查找的递归算法。
[算法描述]
intBinSrch(rectyper[],intk,low,high)
ey==k)return(mid);
elseif(r[mid].key>k)return(BinSrch(r,k,mid+1,high));
elsereturn(BinSrch(r,k,low,mid-1));
}
elsereturn(0);//查找失败。
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 第二 版严蔚敏 课后 习题 作业 参考答案 17