网站大量收购闲置独家精品文档,联系QQ:2885784924

数据结构叉树及哈夫曼编码.docVIP

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构叉树及哈夫曼编码

甘肃政法学院 本科学生实验报告 (三) 姓名: 学院 : 专业 : 班级 : 实验课程名称:数据结构 指导教师及职称 : 开课时间 : 实验题目 树,二叉树的创建及输出.哈夫曼编码的输出. 小组合作 否○ 姓 名 班 级 信息安全 学 号 一、实验目的: 1. 学会实现二叉树结点结构和对二叉树的基本操作。 2.掌握对二叉树每种操作的具体实现,学会利用递归方法编写对二叉树这种递归数据结构进行处理的算法。 3. 哈夫曼树的建立及哈夫曼编码的输出. 4. 掌握树的创建即对它的遍历,输出树,以及叶子结点,根结点。 二、实验环境: 装有Visual C++6.0,windons.7的计算机一台 实验内容与步骤: 1..二叉树的创建及输出。 Btree.cpp文件 工程文件.cpp。 Btree.h文件 运行结果如下 2.根据哈夫曼树哈夫输出曼编码: j.cpp文件 工程文件.cpp a.h文件。 运行结果如下: 3.线段树的输出。 z.cpp文件。 工程文件.cpp S.h文件。 运行结果如下: 5.树的输出。 6.二叉树的先序和中序及高度。 运行结果如下: 四、实验总结: 1.树是由n(n≥0)个结点组成的有限集合。树的遍历运算是指按某种方式访问树中的每一个结点且每一个结点只被访问一次 先根遍历,即先访问根结点,然后按照从左到右的次序先根遍历根结点的每一棵子树。后根遍历 ,即先按照从左到右的次序后根遍历根结点的每一棵子树然后访问根结点。一个结点所在的层次为其双亲结点所在的层次加1。树中结点的最大层次称为树的高度(或树的深度)。 2. 用先序建树的时候虽然只要输入一个字符串,但是要判断空树的情况。比较麻烦,我个人觉得用先序与中序联合建树比较简单。因为这样只要输入先序与中序就可以建树了。 3. 对于二叉树的三种遍历的过程,要是用递归写的就根据书上所给出的遍历步骤做稍微的调整就好了。至于非递归的三种遍历,中序最为简单,用一个栈就可以完成了,思路是边进栈边收索左孩子,直到左孩子为空的时候才开始进行出栈输出再收索右孩子的操作。而非递归的先序遍历基本可以和中序一样,建立一个队列,在进栈的时候队列也进同样的元素,但是不与栈一起出栈。而是在最后进栈出栈结束的时候,对队列进行出队列操作即可。在创建二叉树时CreateBTNode(*b,*str) 用ch扫描采用括号表示法表示二叉树的字符串。分以下几种情况: ① 若ch=(:则将前面刚创建的结点作为双亲结点进栈,并置k=1,表示其后创建的结点将作为这个结点的左孩子结点; ② 若ch=):表示栈中结点的左右孩子结点处理完毕,退栈; ③ 若ch=,:表示其后创建的结点为右孩子结点; 4.二叉树对于进行表达式的前缀,中缀和后缀的表示有明显的优势,既方便,又容易理解。其先序,中序和后序分别对应这表达式的前缀,中缀和后缀。 5.在实验过程中注意程序的编写以及注意的问题。例如,在树的创建及遍历的过程中,注意数的有关性质。树中的结点数等于所有结点的度数加1。度为m的树中第i层上至多有mi-1个结点,这里应有i≥1。具有n个结点的m次树的最小高度为(logm(n(m-1)+1)(。二叉树的有关性质,非空二叉树上叶结点数等于双分支结点数加1。非空二叉树上第i层上至多有2i-1个结点,这里应有i≥1。高度为h的二叉树至多有2h-1个结点(h≥1)。 通过实验能帮助我们更好的使理解有关二叉树和树的相关知识及相关的性质和算法法。使我们对所学的知识有了进一步的了解。 五、指导教师评语及成绩: 教室签名 成绩 批阅日期 年 月 日

文档评论(0)

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

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

1亿VIP精品文档

相关文档