- 1、本文档共147页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
云大数据结构课程教学课件树和二叉树
4a 6b 1c 9d 5 4a 1c 9d 6b 11 5 4a 1c 6b 9d 20 11 5 4a 1c 6b 9d 1)哈夫曼算法思想 (1)根据给定的n个权值w1,w2,……,wn构造n棵二叉树的森林F={T1,T2, ……,Tn},其中每棵二叉树Ti中仅有一个权值为Wi的根结点,其左右子树为空。 (2) 在F中任选出两棵根结点权值最小的二叉树作为左右子树构造一棵新二叉树,且置新二叉树的根结点的权值为其左、右子树根结点的权值之和。 (3) 在F中删除这两棵二叉树并将新得到的二叉树加入到F中。 (4) 重复(2)和(3) ,直到F只含一棵二叉树为止,这棵二叉树便是哈夫曼树。 严格二叉树 * 数据结构 * 2)哈夫曼算法的具体实现 分析:哈夫曼树中只有0度和2度结点,不可能有1度结点,因此具有n个叶结点的哈夫曼树其所含结点数必为2n-1。对于n个权值,若构造哈夫曼树,所需存储空间为2n-1个结点所需的空间。若采用顺序存储结构存放哈夫曼树,则可用一个元素个数为2n-1的一维结构数组。 存储结构描述: #define m 2*n-1 typedef struct { float weight; int lchild,rchild,parent; } hufmtree; hufmtree tree[m]; lchild,rchild分别存放左右 子树的根结点的下标值 parent存放双亲结点的下标值 初始时每个结点的lchild,rchild和parent均为-1 * 数据结构 * 算法描述: huffman(tree) huffman *tree; { int i,j,p1,p2; float small1,small2,f; p1,p2分别存放当前扫描到的权值最小和次小结点 的下标。small1,small2分别存放当前扫描到的权 值最小和次小结点的权值。 for (i=0;im;i++) {tree[i].parent=-1;tree[i].lchild=-1;tree[i].rchild=-1; tree[i].weight=0.0;} for (i=0;in;i++) {scanf(“%f”,f); tree[i].weight=f;} for (i=n;im;i++)/*对森林中的树进行n-1次合并,产生n-1个新结点*/ {p1=p2=-1;small1=small2=maxval; for (j=0;j=i-1;j++) if (tree[j].parent==-1) if (tree[j].weightsmall1) {small2=small1;small1=tree[ j].weight;p2=p1;p1=j;} else if (tree[j].weightsmall2){small2=tree[j].weight;p2=j;} tree[p1].parent=i;tree[p2].parent=i; tree[i].lchild=p1;tree[i].rchild=p2; tree[i].weight=small1+small2; } } 初始化结构数组 读入前n个结点的权值 求权值最小和次小 结点的下标 构造双亲结点(同时意味从森林中 删除原来两棵二叉树) * 数据结构 * 例:已知权值{6,4,1,9},根据上述算法,哈夫曼树的构造过程如下: n=4 m=7 下标 lchild rchild parent weight 0 1 2 3 4 5 6 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 6 4 1 9 0 0 0 初始情况 p1=2,p2=1,small1=1,small2=4 下标 lchild rchild parent weight 0 1 2 3 4 5 6 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1
您可能关注的文档
- 中国会计准则VS国际财务报告准则RCGAAvsifrs.ppt
- 中国化纤行业运行分析与预测.pdf
- 中国古代前期史第一章中国历史的开端第一节原始人群.ppt
- 中国公路桥梁管理系统cbms介绍.ppt
- 中国古代前期史第二章第三节西周.ppt
- 中国古代前期史第一章中国历史的开端第三节父系氏族公社.ppt
- 中国古代前期史第五章西汉和东汉第一节中央集权的巩固和发展.ppt
- 中国十大品牌价值景区.pdf
- 中国医学物理学的过去现在与未来.ppt
- 中国古代前期史第六章魏晋南北朝第二节西晋.ppt
- 5.3.1函数的单调性(教学课件)--高中数学人教A版(2019)选择性必修第二册.pptx
- 部编版道德与法治2024三年级上册 《科技提升国力》PPT课件.pptx
- 2.7.2 抛物线的几何性质(教学课件)-高中数学人教B版(2019)选择性必修第一册.pptx
- 人教部编统编版小学六年级上册道德与法治9 知法守法 依法维权(第一课时)课件.pptx
- 三年级上册品德道德与法治《学习伴我成长》.pptx
- 部编版小学道德与法治六年级上册6 人大代表为人民 课件.pptx
- 部编版小学道德与法治六年级上册1感受生活中的法律第一课时课件.pptx
- 2.5.2圆与圆的位置关系(教学课件)-高中数学人教A版(2019)选择性必修第一册.pptx
- 2.5.1直线与圆的位置关系-(教学课件)--高中数学人教A版(2019)选择性必修第一册.pptx
- 14.1.1 同底数幂的乘法(教学课件)-初中数学人教版八年级上册.pptx
文档评论(0)