- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话: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 赫夫曼树及其应用 ---赫夫曼
您可能关注的文档
最近下载
- 2025年危险品水路运输从业资格考试复习题库资料(浓缩500题).pdf
- 标准图集-苏S13-2022 预制混凝土排水检查井.pdf VIP
- T/CSWSL 036-2024N-酰基高丝氨酸内酯酶.pdf
- 2025至2030中国宫颈癌疫苗行业市场占有率及投资前景评估规划报告.docx VIP
- 2025至2030汽车防爆膜行业市场占有率及投资前景评估规划报告.docx VIP
- 2025至2030热熔线标涂料行业市场发展分析及投资前景报告.docx VIP
- 2021年禁毒社工招聘考试试题.doc VIP
- 医院病理技师礼仪与病理诊断.pptx VIP
- 2021年度禁毒社工招聘考试试题.doc VIP
- 《十二公民》剧本.docx VIP
文档评论(0)