- 1、本文档共118页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6.6 赫夫曼树及其应用---赫夫曼树编码的存储表示 typedef struct { unsigned int weight; unsigned int parent, lchild, rchild; } HTNode, *HuffmanTree; //动态分配数组存储赫夫曼树 typedef char **HuffmanCode; //动态分配数组存储赫夫曼编码表 void Huffmacoding(HuffmanTree HT, Huffmancode HC, int *w, int n) 6.6 赫夫曼树及其应用 --- 赫夫曼树构造及编码算法 建立初始森林 m=2*n-1; //其中n是待编码的字符(权值)的数量,本例n=8 HT=(HuffmanTree)malloc(m+1)*sizeof(HTNode); R L P W 8 7 6 5 4 3 2 R L P W 15 14 13 12 11 10 9 1 0 共有2*8-1=15个结点 6.6 赫夫曼树及其应用 --- 赫夫曼树构造及编码算法 建立初始森林 m=2*n-1; //其中n是待编码的字符(权值)的数量,本例n=8 HT=(HuffmanTree)malloc(m+1)*sizeof(HTNode); for (p=HT+1, i=1; i=n; ++i, ++p, ++w) *p = {*w, 0, 0, 0 }; 0 0 0 11 0 0 0 3 0 0 0 23 0 0 0 14 0 0 0 8 0 0 0 7 0 0 0 29 0 0 0 5 R L P W 8 7 6 5 4 3 2 R L P W 1 0 共有2*8-1=15个结点 R L P W 15 14 13 12 11 10 9 6.6 赫夫曼树及其应用 --- 赫夫曼树构造及编码算法 建立初始森林 m=2*n-1; //其中n是待编码的字符(权值)的数量,本例n=8 HT=(HuffmanTree)malloc(m+1)*sizeof(HTNode); for (p=HT+1, i=1; i=n; ++i, ++p, ++w) *p = {*w, 0, 0, 0 }; for ( ; i=m; ++i, ++p) *p = { 0, 0, 0, 0 }; 0 0 0 11 0 0 0 3 0 0 0 23 0 0 0 14 0 0 0 8 0 0 0 7 0 0 0 29 0 0 0 5 R L P W 8 7 6 5 4 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 R L P W 15 14 13 12 11 10 9 1 0 共有2*8-1=15个结点 6.6 赫夫曼树及其应用 ---赫夫曼树构造及编码算法 构造赫夫曼树 树中共有m-n个分支结点(本例:15 - 8 = 7,存放在HT的第9~ 第15个分量中) 重复m-n次:“选择 – 造树 –加入–删除”操作,完成目标赫夫曼树的构造(本例: 根节点存放在HT的 第15个分量中) for ( i = n+1; i=m; ++i ) { Select( HT, i-1, s1, s2 ); HT[s1].parent = i; HT[s2].parent=i; HT[i].lchild = s1; HT[i].rchild=s2; HT[i].weight = HT[s1].weight + HT[s2].weight; } //for 6.6 赫夫曼树及其应用 ---赫夫曼树构造及编码算法 造树过程(HT中的内容变化) 当前森林 T 0 0 0 11 0 0 0 3 0 0 0 23 0 0 0 14 0 0 0 8 0 0 0 7 0 0 0 29 0 0 0 5 R L P W 8 7 6 5 4 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 R L P W 15 14 13 12 11 10 9 1 0 6.6 赫夫曼树及其应用 ---赫夫曼
您可能关注的文档
- 数电复习大纲(提要)分析.ppt
- 失效分析课件2分析.ppt
- 失效分析课件分析.ppt
- 数电交通灯课程设计报告分析.docx
- 师白娟浅析会计电算化的内部控制制度的意义及影响分析.doc
- 数电课程设计 八路抢答器分析.doc
- 师大附中高三考语文试卷(七)讲评分析.ppt
- 数电课程设计()分析.doc
- 师大通过激素的调节分析.ppt
- 数电课程设计2分析.doc
- 2018年普通高等学校招生全国统一模拟考试理综-化学试题扫描版含答案.doc
- Unit6SunshineforallStudyskills课件-牛津译林版八年级英语下册.pptx
- Unit3After-schoolactivitiesLesson2Avisittoafarm课件冀教版(2024)英语七年级下册.pptx
- 第13课《最后一次讲演》课件-统编版语文八年级下册.pptx
- Unit2BesportybehealthyReading课件-牛津译林版(2020)高中英语.pptx
- Unit2Differentfamilies第三课时(课件)-人教PEP版(2024)英语三年级上册.pptx
- 服务业的区位选择教学课件-湘教版高中地理必修二.pptx
- 城镇化进程及其影响课件高中地理湘教版(2019).pptx
- 国家海洋权益与海洋发展战略课件高一地理中图版必修2.pptx
- 工程变更管理细则.doc
最近下载
- 一种定向声波驱鸟器.pdf VIP
- 光伏智慧管理平台方案.docx VIP
- 公共危机与应急管理(原理与案例)王宏伟-第七章 应急沟通.pptx VIP
- 火电工程建筑工程交付使用前质量监督检查记录.pdf VIP
- 2023-2024学年高中下学期主题班会 世界读书日 读书,是门槛最低的高贵 课件 .pptx VIP
- 化解小学生争吵主题班会PPT课件.pptx VIP
- 儿童保健学试题库.pdf VIP
- 完整版老旧小区雨污分流改造工程施工组织设计方案(最全).doc
- 2023年广东省深圳市光明区中考二模物理试题(含答案解析).docx
- 四川省成都市石室中学2024届高二下学期期中半期考试物理试题(含答案及解析).docx
文档评论(0)