网站大量收购独家精品文档,联系QQ:2885784924

数据结构树和二叉树分析.ppt

  1. 1、本文档共118页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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 赫夫曼树及其应用 ---赫夫曼

文档评论(0)

四月 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档