ds200906_树的遍历和哈夫曼树.ppt

  1. 1、本文档共80页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ds200906_树的遍历和哈夫曼树

* 北京化工大学信息学院 数据结构 * 5 2 7 4 6 11 Weight parent leftChild rightChild 7 -1 -1 -1 5 -1 -1 -1 2 4 -1 -1 4 4 -1 -1 6 -1 2 3 11 -1 -1 -1 -1 -1 -1 0 1 2 3 4 5 6 p1 p2 5 5 1 4 i * 北京化工大学信息学院 数据结构 * 5 2 7 4 6 11 Weight parent leftChild rightChild 7 -1 -1 -1 5 5 -1 -1 2 4 -1 -1 4 4 -1 -1 6 5 2 3 11 -1 1 4 18 -1 -1 -1 0 1 2 3 4 5 6 p1 p2 6 6 0 5 i 18 * 北京化工大学信息学院 数据结构 * 建立哈夫曼树的算法 void CreateHuffmanTree ( HuffmanTree T, float fr[ ] ) { for ( int i = 0; i < n; i++ ) T[i].weight = fr[i]; for ( i = 0; i < m; i++ ) { T[i].parent = -1; T[i].leftChild = -1; T[i].rightChild = -1; } for ( i = n; i < m; i++ ) { * 北京化工大学信息学院 数据结构 * int min1 = min2 = MaxNum; int pos1, pos2; for ( int j = 0; j < i; j++ ) //每次都要搜索一遍 if ( T[j].parent == -1 ) if ( T[j].weight < min1 ) { pos2 = pos1; min2 = min1; pos1 = j; min1 = T[j].weight; }//总是让1指向最小的,让2记录前面的,下面那个只有满足比1小比2大才进入 else if ( T[j].weight < min2 ) { pos2 = j; min2 = T[j].weight; } T[i].leftChild = pos1; T[i].rightChild = pos2; * 北京化工大学信息学院 数据结构 * T[i].weight = T[pos1].weight + T[pos2].weight; T[pos1].parent = T[pos2].parent = i; } } 最佳判定树 考试成绩分布表 * 北京化工大学信息学院 数据结构 * 判定树 不及格 及格 中 良 优 <60? <70? <80? <90? 0.10 0.15 0.25 0.35 0.15 ≥ ≥ ≥ ≥ < < < < WPL = 0.10*1+0.15*2+0.25*3+0.35*4+0.15*4 = 3.15 * 北京化工大学信息学院 数据结构 * 最佳判定树 不及格 及格 中 良 优 <60? <70? <80? <90? 0.10 0.15 0.25 0.35 0.15 ≥ ≥ ≥ ≥

文档评论(0)

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

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

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档