当前位置: 首页 > news >正文

个人主页网站网站正在建设中源码

个人主页网站,网站正在建设中源码,广州seo优化电话,网站建设中建站广告html单页面权 (weight):将树中结点赋给一个有着某种含义的数值,则这个数值称为该结点的权。结点的带权路径长度: 从根结点到该结点之间的路径长度与该结点的权的乘积。树的带权路径长度:树中所有叶子结点的带权路径长度之和。 记作&#xff…

权 (weight):将树中结点赋给一个有着某种含义的数值,则这个数值称为该结点的权。

结点的带权路径长度: 从根结点到该结点之间的路径长度与该结点的权的乘积。

树的带权路径长度:树中所有叶子结点的带权路径长度之和。 记作: \(\boldsymbol{WPL = \sum_{k = 1}^{n} w_k l_k}\) ,其中 \(w_k\) 为权值,\(l_k\) 为结点到根的路径长度

引入哈夫曼树,有一个关键,是把出现次数越多的,放在离根越近的地方,这样可以节省时间

树的路径长度:根到每个结点的路径之和

分析(a),A到A的路径为0,A到B为1,A到C为1,A到D为2(A-->C-->D),以此类推

我们不难发现b的路径长度比a短,说明效率更高,b是完全二叉树(完全二叉树,指的除了叶子结点这一排,其他结点均满,并且最后一排的叶子结点必须从左往右顺序摆放)

由此我们得出结论:结点相同的二叉树中,完全二叉树的路径最短

哈夫曼树的相关定义:

权 (weight):将树中结点赋给一个有着某种含义的数值,则这个数值称为该结点的权。

结点的带权路径长度: 从根结点到该结点之间的路径长度与该结点的权的乘积。

树的带权路径长度:树中所有叶子结点的带权路径长度之和。 WPL=∑Wk*Lk(k从1到n)

举个例子帮助我们理解:

a、b、c、d的路径长度分别是:2、2、2、2

所以结点的带权路径长度=7*2+5*2+2*2+4*2=36

哈夫曼树:最优树(最优树的比较是在树的度相同的情况下)

“度” 就是指一个结点拥有的子结点(子树)数量,比如根A带了BC两个子树,A的度为2,叶子结点度为0

哈夫曼树:最优二叉树(带权路径长度也就是WPL最短的二叉树)

上图表明,结点相同的哈夫曼树,是不唯一的

满二叉树不一定是哈夫曼树

哈夫曼树中权越大的叶子离根越近

具有相同带权结点的哈夫曼树不惟一

如何构造哈夫曼树?

简要说明:我们找出两个权最小的,连在一起,然后再继续比较,找出两个最小的,我们直接用一个例子来说明

我们知道,目前最小的两个权值是2-c,4-d,这两个 结点构成一个小树

然后6再与,7和5比较,最小的是6和5

最后剩11和7,再拼成一棵树即可

总结:

1、在哈夫曼算法中,初始时有n棵二叉树,要经过n-1次合并最终形成哈夫曼树。

2、经过n-1次合并产生n-1个新结点,且这n-1个新结点都是具有两个孩子的分支结点。

可见:哈夫曼树中共有n + n-1 = 2n-1个结点,且其所有的分支结点的度均不为1(0或2)

我们举个例子帮助理解:

例,有 n=8,权值为 W={7,19,2,6,32,3,21,10} 构造哈夫曼树

先找出最小的两个构成树,是2和3,他们的双亲是5,在下标为9的数组里存储

再看11,双亲是28,在下标为12的地方存储,而左孩6和右孩5分别在4和9存储

哈夫曼编码:

结点的左分支为0,右分支为1

我们构造出哈夫曼树以后,分别对左分支编号均为0,右分支编号均为1,图已经很明显的能看出这个编码的原理

我们再详细解释一下吧,首先构造哈夫曼树,C和S对应的权最小,先构成一个小树4,以此类推,构成哈夫曼树,然后依次编号后,从上至下读取,比如T,是14->6->3这条路径,也就是00

再举一个例子:

我们可以直接从图中知道各个结点的编码

哈夫曼编码的算法实现,用上边这个例子,我们来进一步了解一下原理

我们用一个一维数组来记录,依次从右往左记录,读取的时候是从左往右读取,举个例子,我们看一下C的编码

C在下标为3的位置里,双亲在下标为11的数组,我们发现,3就存在下标为11的右分支里,记为1,一维数组中下标为5的位置,我们填上1

继续在下标为11的数组里分析,他的双亲是12,我们来到12号,发现11在12的做分支,我们记为0,录入一维数组下标为4的窗口

接着,继续分析,下标为12的数组中,双亲是13,我们来到下标为13的位置,发现12是13的右分支,记为1,录入一维数组下标为3的窗口,到此结束,所以从左往右读,C的编码是101

http://www.dtcms.com/a/606619.html

相关文章:

  • 网站邮箱配置百度seo哪家公司好
  • wordpress建站 购物网页设计实训报告不足
  • 蚂蚁与浙大签约,共建大数据认知计算联合研究中心
  • Ingress、Kubernetes数据存储相关概念及相关实验案例
  • 深圳做棋牌网站建设哪家好衡水专业网站制作
  • 建设项目环境影响评价登记表网站医院网站建设方案详细
  • 虚幻引擎 5.7 现已发布
  • 构建高效的多模态AI数据平台:从海量数据到智能进化的完整指南
  • 传奇发布网站排行网站建设哪方面最重要的呢
  • 消息队列终极选型:RabbitMQ、RocketMQ、Kafka与ActiveMQ深度对比
  • 超市网站建设费用泉港网站建设推广服务公司
  • 【OpenCV + VS】图像缩放与插值
  • 拖拽式建站平台国外网站做acm题目比较好
  • Vue——vue2中的mixin有哪些问题
  • 用 Rust 打造可复现的 ASCII 艺术渲染器:从像素到字符的完整工程实践
  • 台州企业自助建站代理app软件
  • 31.网络云服务
  • 网站开发与软件开发的区别重庆企业网站开发方案
  • 深圳公司网站建设公司郑州排名前十的科技公司
  • 做画册好的网站企业查询app
  • 算法学习笔记-贪心算法总结2
  • 网站开发技术方案龙岩资讯
  • 网站建设综合训练报告演示网站怎么做
  • MySQL 内存使用:优化指南
  • 建一个收费网站 怎么收费西安建设工程信息网怎么看
  • RedHat系统搭建DNS主从服务器
  • RK3568平台开发系列讲解:LCD 框架
  • 网站建设费摊多久中国门户网站建设重要性
  • 河南国邦卫可生物科技有限公司网站建设如何利用社交网站做招聘
  • milvus+langchain实现RAG应用