前几章数据结构作业题(带答案).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构习题 第3章栈和队列 3.1设将整数l、2、3、4依次进栈,只要出栈时栈非空,则可将出栈操作按任何次序夹入其中,请回答下述问题: (1)当入、出栈次序为Push(1),Pop(),Push(2),Push(3),Pop(),Push(4),Pop(),出栈的数字序列为何(这里Push(i)表示i进栈,Pop()表示出栈)? (2)能否得到出栈序列1423和1432并说明为什么不能得到或者如何得到。 (分析与解答) (1)出栈序列为1、3、4。 (2)序列l、4、2、3不可能得到。因为4和2之间隔了3,当4出栈后,栈项元素是3,而2在3的下面。序列1、4、3、2可以得到:push(1)、pop()、push(2)、push(3)、push(4)、pop()、pop()、pop()。 3.2循环队列的优点是什么?如何判别它的空和满? (分析与解答]循环队列的优点是巧妙地解决了假满问题。队空判断条件是:sq-rear= sq-front队满判断条件是:(sq-rear+1)%QueueMaxSize=sq-front 第6章树: 6.1假设有一棵树用广义表表示如下:(a(b(d,e(i(m,n))),c(f,g(j,k),h(l))))请用树形表示法画出此树,并回答下列问题:(1)哪个是根结点?(2)哪些是叶结点?(3)哪个是g的双亲?(4)哪些是g的祖先?(5)哪些是g的孩子?(6)哪些是e的子孙?(7)哪些是e的兄弟?哪些是f的兄弟?(8)结点b和n的层次各是多少?(9)树的深度是多少?(10)以结点c为根的子树的深度是多少?(11)树的度数是多少? (分析与解答置用树形表示法画出此树,如图6-1所示。(1)a是根结点。(2)d、m、n、f、j、k、1是叶结点。(3)c是g的双亲。(4)a、c是g的祖先(5)g的孩子是j、k(6)e的子孙是i、m、n。(7)e的兄弟是d,f的兄弟是g、h(8)b在第2层,n的层次是5。 6.2试分别画出具有3个结点的树和3个结点的二叉树的所有不同形态。 (分析与解答) ①具有3个结点的树有两种基本形态, 如图6-2所示。 ②具有3个结点的二叉树有5种基本形态,如图6-3 6.3试采用顺序存储方法和链接存储方法分别画出如图6—4所示的各二叉树的存储结构。 图6-4 (分析与解答) ①顺序存储: (a)12??3????4??????????5 (b)l?2??3??????4????????????5 (c)l?2??34????56??????????78 (d)1234?56?7????89 ②链接存储,如图6-5(a)~(d)所示。 图6-5 6.4分别写出图6—4所示的各二叉树的前序、中序和后序序列。 (分析与解答) 6.5若二叉树中各结点的值均不相同,则由二叉树的前序序列和中序序列,或由其后序序列和中序序列均能唯一地确定一棵二叉树,但由前序序列和后序序列却不一定能唯一地确定一棵二叉树。 (1)已知一棵二叉树的前序序列和中序序列分别为ABDGHCEFI和GDHBAECIF,请画出此二叉树。 (2)已知一棵二叉树的中序序列和后序序列分别为BDCEAFHG和DECBHGFA,请画出此二叉树。 (3)已知两棵二叉树的前序序列均为AB,后序序列均为BA,请画出这两棵不同的二叉树。 (分析与解答) 6.6如图6-6给定的森林 (1)求各树的前序序列和后序序列。 (2)求森林的前序序列和后序序列。 (3)将此森林转换为相应的二叉树。 (4)给出(a)所示树的双亲链表表示、孩子链表表示、双亲孩子链表表示及孩子兄弟 链表表示等4种存储结构。 图6-6 (分析与解答) 各树的前序序列和后序序列。 求森林的前序序列和后序序列。 前序:ABCDEFGHIJKLMPQRNO 后序:BDEFCAIJKHGQRPMNOL 将此森林转换为相应的二叉树。 将森林转换为二叉树的方法: 视各树的根互为兄弟,设左边的孩子为长子;然后从最左边的树开始,按长子为左孩子、右邻兄弟为右孩子的方法转换。转换结果如图6-7. 图6-7由森林转换出来的二叉树 (4) (a)所示树的双亲链表表示、孩子链表表示、双亲孩子链表表示及孩子兄弟链表表示等4种存储结构 6.7画出如图6-8所示的各二叉树所对应的森林。 图6-8 (分析与解答) 二叉树转换为树或森林的方法:左孩子为长子,右孩子为右邻兄弟。 图6-9五棵二叉树分别对应的森林 6.8假设用于通信的电文由字符集{a,b,C,d,e,f,g,h)中的字母构成,这8个字母在电文中出现的概率分别为{0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10}。 (1)为这8个字母设计哈夫曼编码。 (分析

文档评论(0)

hhuiws1482 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档