- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
                        查看更多
                        
                    
                二叉树系列算法及哈弗曼编译码
                     实验报告 ——二叉树系列算法及哈弗曼编、译码一.需求分析1,二叉树的系列算法:先序初始化二叉树,先序、中序、后续的递归算法遍历二叉树,中序非递归算法遍历二叉树,层次遍历二叉树(自创),求二叉树的深度(自创),返回或修改任意节点的值(自创),常规二叉树找某节点的双亲结点(中序),先序线索化二叉树等。2,实现哈夫曼编码的生成算法,以及译码的解释算法。3,本程序的实验目的是为了使学生熟练掌握二叉树的原理及各种算法,熟练掌握哈夫曼编、译码的方法。测试数据:(附后)二.概要设计:1、抽象数据类型如下:ADT Tree{数据对象D:D是具有相同特性的数据元素集合。数据关系R:若D为空集,则成为空树;若D仅含有一个数据元素,则R为空集,否则R={H},H是如下二元关系:(1)在D中存在唯一的称之为跟的元素ROOT,它在关系H下无前驱;(2)若D-{ROOT}≠?,则存在D-{ROOT}的一个划分D1,D2,……Dm(m0),对任意的j≠k(1≤j,k≤m)有Dj∩Dk=?,且对任意的i(1≤i≤m),唯一存在数据Xi∈Di,有ROOT,Xi∈H;(3)对应D-{ROOT}的划分,H-{ROOT,X1,ROOT,X2……ROOT,Xm}有唯一的一个划分H1,H2,……Hm,对任意j≠k(1≤j,k≤m)有Hj∩Hk=?,且对任意i(1≤i≤m),Hi是Diz上的二元关系,(Di,{Hi})是一颗符合本定义的树,称为跟ROOT的子树。}(4)存储结构如下://定义binarytree的存储结构typedefstruct BiTree{char data;struct BiTree *lchild,*rchild;}BiTree,*BiTree_Z;//定义线索化二叉树的储存结构typedefenum PointerTag{Link,Thread}; //Link==0表示指针,Thread==1表示线索typedefstruct BiThrNode{char data;struct BiThrNode *lchild,*rchild;PointerTag LTag,RTag;}BiThrNode,*BiThrTree;//定义哈弗曼编码的存储结构typedefstruct{int weight; //权值int lchild,rchild,parent; //双亲,左右孩子在数组中的位置}HuffNode,*HuffmanTree;  //使用动态分配数组来存储哈弗曼树typedefchar * *HuffmanCode; //使用动态分配数组来存储哈弗曼编码2、基本操作:BiTree * InitBiTree();int PreOrderTraverse(BiTree *T,int (*Visit)(char e));int Visit(char e);int InOrderTraverse(BiTree *T,int (* Visit)(char e));int PostOrderTraverse(BiTree *T,int (* Visit)(char e));int InOrderTraverse_2(BiTree *T,int (* Visit)(char e));int CreateStack(Stack S);void push(Stack S,BiTree_Z T);int Pop(Stack S,BiTree_Z T);int GetTop(Stack S,BiTree_Z T);int LevelOrderTraverse(BiTree *T,int (* Visit)(char(e)));int BiTreeDepth(BiTree *T);void Root(BiTree *T);void Value(BiTree *T);void Assign(BiTree *T);int Parients(BiTree *T,int (* Visit)(char e));//线索化二叉树BiThrTree InitBiThrTree();int InOrderThreading(BiThrTree Thrt,BiThrTree T);int InOrderTraverse_Thr(BiThrTree T,int (* Visit)(char e));//哈弗曼编、译码操作void HuffmanCoding(HuffmanTree HT,HuffmanCode HC,int *w,int n);void HuffmanDecoding(HuffmanTree HT,int n,char *chars,int (* Visit)(int w));int Visit(int w);3,主程序Void main(){初始化;do{ 接受
                您可能关注的文档
最近下载
- 2025年河北水务有限公司公开招聘运行管理人员85人笔试参考题库附答案解析.docx VIP
- 机器视觉市场竞争、合作并存.pdf VIP
- (高清版)ZT 0214-2020 矿产地质勘查规范 铜、铅、锌、银、镍、钼.pdf VIP
- 基于W5100的DSP快速网络接入解决方案.pdf VIP
- 5. 国威人工智能产业学院建设方案V1.5.pdf VIP
- “互联网+”大学生创新创业大赛项目计划书-互联网+户外运动商业计划书.pdf VIP
- 2025年河北水务有限公司公开招聘运行管理人员85人笔试备考试题及答案解析.docx VIP
- 零部件的标识和可追溯性.pdf VIP
- 性格测试题测试题及答案.doc
- Cr35Ni45Nb钢铝硅共渗涂层抗渗碳性能研究.pdf VIP
 原创力文档
原创力文档 
                        

文档评论(0)