2022年数据结构实验报告wzh .pdf
《2022年数据结构实验报告wzh .pdf》由会员分享,可在线阅读,更多相关《2022年数据结构实验报告wzh .pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验报告哈夫曼树的建立和编码器的实现题目: 哈夫曼树的建立和编码器的实现具体内容:先生成一棵哈夫曼树,再打印各字符对应的哈夫曼编码班级:通信工程0802 姓名 王增辉学号U200813021 完成日期2009.12.01 一、 需求分析本程序中,输入值的范围限定如下:字符的数目:限定为int 型。由于数值过大会引起输入及程序运行缓慢,我们约定数值书小于 40.若输入其它非法数值,则会过滤掉并提示输入合法字符,直至用户输入合法字符。#include / 所要引用的函数库#include #include #include typedef struct / 定义霍夫曼树的结点类型 char ch;
2、 int weight; int parent,lchild,rchild; HTNode,*HuffmanTree; typedef struct / 霍夫曼编码 char ch; char *chs; HuffmanCode; typedef struct / 由字符及权重构成的复合结构 char ch; int weight; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 6 页 - - - - - - - - - sw; typedef struct / 霍夫曼
3、树以及霍夫曼编码构成的复合结构 HuffmanTree HT; HuffmanCode *HC; huf; void select(HTNode * HT,int n,int *n1,int *n2) / 在前 n 个数中选取parent 为零且最小的两个数,赋值给n1 n2 int n3,i=1; while(HTi.parent!=0) i+; *n1=i; i+; while(HTi.parent!=0) i+; *n2=i; if(HT*n1.weightHT*n2.weight) n3=*n1; *n1=*n2; *n2=n3; for(i+;i=n;i+) if(HTi.paren
4、t=0) if(HTi.weightHT*n1.weight) *n1=i; else if(HTi.weightHT*n2.weight) *n2=i; huf *HuffmanCoding(HuffmanTree HT,HuffmanCode *HC,sw *w,int n,huf *HUF) / 霍夫曼编码 int m,i,s1,s2,start,c,f; HuffmanTree p; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - -
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年数据结构实验报告wzh 2022 数据结构 实验 报告 wzh
限制150内