用Huffman算法求带权为1,4,9,25,36,49的最优二叉树

作者&投稿:离易 (若有异议请与网页底部的电邮联系)
权数1,4,9,16,25,36,49,64,81,100构造一棵最优二叉树。~

权数介绍
在统计计算中,用来衡量总体中各单位标志值在总体中作用大小的数值叫权数。权数决定指标的结构,权数如变动,绝对指标值和平均数也变动,所以权数是影响指标数值变动的一个重要因素。权数一般有两种表现形式:一是绝对数(频数)表示,另一个是用相对数(频率)表示。相对数是用绝对数计算出来的百分数(%)或千分数(‰)表示的,又称比重。平均数的大小不仅取决于总体中各单位的标志值(变量值)的大小,而且取决于各标志值出现的次数(频数),由于各标志值出现的次数对其在平均数中的影响起着权衡轻重的作用,因此叫做权数。这说明权数的权衡轻重作用,是体现在各组单位数占总体单位数的比重大小上。如工业生产指数中的权数是对产品的个体指数在生产指数形成过程中的重要性进行界定的指标。产品的重要性不同,在发展速度中的作用不同,产品或行业占比重大的,权数就大,在指数中的作用就大。工业经济效益综合指数中的权数是根据各项指标在综合经济效益中的重要程度确定的。零售物价指数除选用代表规格品计算个体物价指数外,还要采用零售额为权数,对个体商品物价指数在物价总指数形成中的重要程度起着权衡轻重的作用。

是啊,我也不懂,是随便复制的。

做法:将最小的两个数取出相加1,4,得到5后将5放回再找最小的两个相加5,9,再将14放回,以此类推。

最优二叉树如图:



先将所有的权值选出最小的两个值,为1,4,然后这两个的和为5,那么再从5,9,25,36,49中选出两个最小的,为5和9,然后再从14,25,36,49中选出两个最小的,为14,25,依次进行下去。那么就可以得到最优二叉树为:() / \ () 49 / \ () 36 / \ () 25 / \ () 9 / \ 1 4

先将所有的权值选出最小的两个值,为1,4,然后这两个的和为5,那么再从5,9,25,36,49中选出两个最小的,为5和9,然后再从14,25,36,49中选出两个最小的,为14,25,依次进行下去

先将所有的权值选出最小的两个值,为1,4,然后这两个的和为5,那么再从5,9,25,36,49中选出两个最小的,为5和9,然后再从14,25,36,49中选出两个最小的,为14,25,依次进行下去。那么就可以得到最优二叉树为:() / \ () 49 / \ () 36 / \ () 25 / \ () 9 / \ 1 4


哈夫曼编码的算法是怎样?
哈夫曼编码的算法就是把两个最小的概率相加。哈夫曼编码,又称霍夫曼编码,是一种编码方式,哈夫曼编码是可变字长编码的一种。Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫做Huffman编码。算法:先按出现的概率大小排队,...

信息与编码系列(二)最优码——Huffman码
Python中的Huffman编码算法,通过递归的reduce_S函数合并概率相近的节点,code函数生成编码,而Huffman函数则是整个流程的执行者。平均码长的计算则通过cal_avglen函数,随着概率分布的方差减小,平均码长也随之降低。最优性的证明与特性 尽管Huffman码非唯一,但它证明了二元形式的码字组合是最优的。引理指出...

算法解析:哈夫曼(huffman)压缩算法
本篇将介绍 哈夫曼压缩算法(Huffman compression)众所周知,计算机存储数据时,实际上存储的是一堆0和1(二进制)。如果我们存储一段字符:ABRACADABRA!那么计算机会把它们逐一翻译成二进制,如A:01000001;B: 01000010; !: 00001010.每个字符占8个bits, 这一整段字符则至少占12*8=96 bits。但如...

哈夫曼编码原理
哈夫曼编码,又称霍夫曼编码,是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫做Huffman编码。

赫夫曼树和哈夫曼树区别
没有区别。是同一概念,只是翻译不同。赫夫曼树(HuffmanTree)或哈夫曼树(HuffmanTree)是由DavidA.Huffman在1952年提出的一种编码算法。该算法通过统计数据中各个元素的频率,并根据频率构建一棵树,使得频率较高的元素离根节点较近,频率较低的元素离根节点较远。

哈夫曼编码的原理是什么?
首先,将符号按照概率由大到小排队,如图所示。编码时,从最小概率的两个符号开始,可选其中一个支路为0,另一支路为1。这里,我们选上支路为0,下支路为1。再将已编码的两支路的概率合并,并重新排队。多次重复使用上述方法直至合并概率归一时为止。从图(a)和(b)可以看出,两者虽平均码长相等,...

哈夫曼编码规则
哈夫曼编码是一种将字符编码为可变长度二进制数的压缩算法,由David A. Huffman在1952年提出。哈夫曼编码是一种可变长度编码,它能够将字符集中出现频率较高的字符用较短的编码表示,从而实现对数据的压缩。相对于固定长度编码(如 ASCII 编码),哈夫曼编码能够更好地适应数据的特点,从而实现更高效的...

霍夫曼(Huffman)编码背景及国内外研究现状
哈夫曼编码(Huffman Coding)是一种编码方式,以哈夫曼树—即最优二叉树,带权路径长度最小的二叉树,经常应用于数据压缩。 在计算机信息处理中,“哈夫曼编码”是一种一致性编码法(又称"熵编码法"),用于数据的无损耗压缩。这一术语是指使用一张特殊的编码表将源字符(例如某文件中的一个符号)...

Python算法之哈夫曼编码
首先将这五个数字按照从小到大的顺序排列:10, 14,16,20, 40。构建哈夫曼树:1.首先选取10,14 2.重新排序:16,20,24,40 3.重新排序24,36,40,60 4.按照二叉树左0右1,构建哈夫曼树 所以最终得到数字10的编码为100,数字14的编码为101,数字16的编码为110,数字20的编码为111,数字40的...

Huffman编码不适合图像压缩么,为什么。有相关的资料么。能给我看看不...
Huffman(哈夫曼)算法在上世纪五十年代初提出来了,它是一种无损压缩方法,在压缩过程中不会丢失信息熵,而且可以证明Huffman算法在无损压缩算法中是最优的。Huffman原理简单,实现起来也不困难,在现在的主流压缩软件得到了广泛的应用。对应用程序、重要资料等绝对不允许信息丢失的压缩场合,Huffman算法是非常好...

章贡区19756782026: 用Huffman算法求带权为1,4,9,25,36,49的最优二叉树 -
谈申盖笛: 先将所有的权值选出最小的两个值,为1,4,然后这两个的和为5,那么再从5,9,25,36,49中选出两个最小的,为5和9,然后再从14,25,36,49中选出两个最小的,为14,25,依次进行下去.那么就可以得到最优二叉树为:()/ \() 49/ \() 36/ \() 25/ \() 9/ \1 4

章贡区19756782026: 带权9.1.3.5.6的五个叶子生成的哈夫曼树,带权路径长度怎么算 -
谈申盖笛: 五个叶子的权值是 9 1 3 5 6 (1) 将权值从小到大排序后是 1 3 5 6 9 (这是有序序列) (2) 每次提取最小的两个节点,取节点1和节点3,组成新节点N4,其权值=1+3=4,节点1的数值较小,作为左分支,节点3就作为右分支. (3) 将新节点N4...

章贡区19756782026: ...构成的哈夫曼树,其带权路径长度WPL是__,4个权值对应的哈夫曼编码分别是_____、_____、_____和_____.(要求哈夫曼树的左分支为0,右分支为1 -
谈申盖笛:[答案] WPL=4*1+3*2+1*3+2*3=19 哈弗曼编码从4,3,2,1依次为:0、10、111、110

章贡区19756782026: 数据结构,构造哈夫曼树,求树的带权路径长度用6个权值分别为6、13、18、30、7和16的结点构造一棵哈夫曼(Huffman)树,该树的带权路径长度为答... -
谈申盖笛:[答案] =6*4+7*4+13*3+30*2+16*2+18*2=219吧,根结点的值不对哦

章贡区19756782026: 设计程序以实现构造哈夫曼算法,并计算出所构造的哈夫曼树的带权路径长度 -
谈申盖笛:// c1.h (程序名) #include<string.h> #include<ctype.h> #include<malloc.h> // malloc()等 #include<limits.h> // INT_MAX等 #include<stdio.h> // EOF(=^Z或F6),NULL #include<stdlib.h> // atoi() #include<io.h> // eof() #include<math.h> // floor(),ceil()...

章贡区19756782026: 哈夫曼译码算法 -
谈申盖笛: C++的 #include#include #include #include ofstream outstuf; #define MAXBIT 50 // 哈夫曼编码的最大长度 #define MAXVALUE 50 // 最大权值 #define MAXLEAF 50 // 哈夫曼树中叶子结点个数 #define MAXNODE MAXLEAF*2-1 //树中结点总数 //...

章贡区19756782026: 已知带权的叶子结点构成一颗哈夫曼树,则带权路径长度怎么求 -
谈申盖笛: 先构造好Huffman树,然后根据将所有叶子结点的权值乘以该结点到根的路径长度求和就是带权路径长度了

章贡区19756782026: 数据结构画Huffman树和计算带权路径长度 -
谈申盖笛: 首先选择最小的4,5 得到9 则在{6,7,9,10,12,18}中选出最小的6,7得到13,继续在{9,10,12,13,18}选出最小的两个9,10,最后可以得到的树就是下面的树 62 25 37 12 13 18 19 6 7 9 10 4 5 两个叶子节点加起来就是根节点 这里不能画图 不是很清楚,但是应该也能明白, WPL=(4+5)*4+(6+7+10)*3+(12+18)*2=165 需要代码的话给邮箱,如果问题已解决,请采纳

章贡区19756782026: {4,5,6,7,8}作为权值构造Huffman树,带权路径长度? -
谈申盖笛: 先是4和5合并为9,再就是6和7合并为13,接着是8和9合并为17,最后是13和17合并为30 所以WPL = (6+7+8)*2 + (4+ 5)*3= 69

章贡区19756782026: 数据结构,构造哈夫曼树,求树的带权路径长度 -
谈申盖笛: =6*4+7*4+13*3+30*2+16*2+18*2=219吧,根结点的值不对哦

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网