电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

基于哈夫曼编码的通信系统的设计与实现

基于哈夫曼编码的通信系统的设计与实现_第1页
1/6
基于哈夫曼编码的通信系统的设计与实现_第2页
2/6
基于哈夫曼编码的通信系统的设计与实现_第3页
3/6
河北工业大学《数据结构》课程实验实验报告题目:基于哈夫曼编码的通信系统的设计与实现专业:计算机 科学与技术 班级:计 1301 班姓名:张路浩刘禄源刘磊波李浩川邹博睿王超完成日期:2024—1—13一、试验内容1)初始化处理:建立通信系统(1)建立有 100 句中文的信息集合,每个句子称为一条信息。(2)输入编码参数:① 从终端输入编码字符集大小 n,字符编码长度 m(设 n 为 4,m 为 8);② 从终端输入编码字符(设为 A,B,C,D);(3)生成每条信息的字符编码,构造字符编码集合;(4)计算每个字符在字符编码集合中出现的概率;(5)根据字符概率构造哈夫曼树,求出每个字符的二进制编码。2)发送端信息编码(1)用户从信息集合中选择一条信息,找到该信息对应的字符编码;(2)根据该信息的字符编码,哈夫曼树求出的每个字符的二进制编码,构造出该信息的二进制编码,记录该二进制编码。(由于是软件模拟,没有发送设备,发送端的编码工作完成)。3)接受端信息译码(1)根据得到的信息的二进制编码,利用哈夫曼树求出的每个字符的二进制编码,还原出信息的字符编码;(2)根据信息的字符编码,找到对应的信息。5、实现提示(1)本试验涉及到通讯学科的编码理论和信息学科的数据压缩技术。(2)根据参数生成的通信系统的所有信息的有效存储问题.(3)信息字符编码可参考随机数的方式生成,且要求保持唯一性二、试验目的(1)掌握二叉树的存储结构及其相关操作。(2)掌握构造哈夫曼树的基本思想,及其编码/译码过程.三、流程图四、源程序代码#include#include〈cstdlib〉#include〈ctime〉#include〈string>using namespace std;constint n=4;//叶子节点个数 constint MAXVALUE = 9999;intm,p; //编码参数string l;int size;//构造哈夫曼树结点 typedefstruct{int weight;//权值 int parent;//父节点 intlchild;//左子树 intrchild;//右子树char word;//编码字符}HNodeType;用字符集对信息进行字符编码 void CreatCode(HCodeType& HT,int n)根据各字符构的频度构造哈夫曼树CreatHFMTree(HT,n)哈夫曼编码CreatHFMCode(HT,HFMCode,n);输出文字信息和对应的哈夫曼编码开始结束定义字符集大小 n输入 n输入编码长度 p输入字符集内容HT.HFMTree[i].word定义汉字信息string message[10]设置随机数种子srand(time(NULL));通过随机数函数对汉字信息用字符集进行编码 psw[i]统计汉字信息字符编码中各字符出现...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

基于哈夫曼编码的通信系统的设计与实现

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部