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

网站制作具体步骤网站开发最新流程

网站制作具体步骤,网站开发最新流程,湘潭网站制作,黑糖不苦建设的网站1 哈夫曼树、哈夫曼编码 定义 哈夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的路径长度(若根结点为 0 层,叶结点到根结点的路径长度为叶结点的层数&…

1 哈夫曼树、哈夫曼编码

定义

哈夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的路径长度(若根结点为 0 层,叶结点到根结点的路径长度为叶结点的层数)。

哈夫曼编码是一种基于哈夫曼树的变长编码方式。它利用字符出现的频率来构造哈夫曼树,然后根据哈夫曼树对每个字符进行编码,使得出现频率高的字符编码较短,出现频率低的字符编码较长,从而达到数据压缩的目的。

路径和路径长度,节点的权,带权路径长度

在理解哈夫曼树和哈夫曼编码时,路径、路径长度、节点的权以及带权路径长度是几个关键概念。

路径

在树结构里,从一个节点到另一个节点所经过的节点序列就被称作路径。比如在二叉树中,从根节点到某个叶子节点的一系列节点连接起来就构成了一条路径。

路径长度

路径长度指的是路径上所经过的边的数量。边是连接两个节点的线段

从根节点 A 到节点 B 的路径 A -> B 只经过了 1 条边,所以这条路径的长度为 1;而从根节点 A 到节点 C 的路径长度同样为 1。若节点 B 还有一个左子节点 D,那么从根节点 A 到节点 D 的路径为 A -> B -> D,经过了 2 条边,路径长度就是 2。

节点的权

节点的权是为树中的每个节点赋予的一个数值,这个数值可以代表不同的含义,具体取决于应用场景。在哈夫曼编码中,节点的权通常表示对应字符出现的频率。

举个例子,字符 a 出现了 5 次,字符 b 出现了 3 次,字符 c 出现了 2 次。若构建哈夫曼树,那么代表字符 a 的节点的权就是 5,代表字符 b 的节点的权是 3,代表字符 c 的节点的权是 2。

带权路径长度(Weighted Path Length, WPL)

 从根节点到该节点的路径长度 与 该节点权值的乘积

WPL= \sum_{i=1}^{n} w_{i}*l_{i},其中 w是第 i 个叶子节点的权值,l 是第 i 个叶子节点到根节点的路径长度,n 是叶子节点的数量。

树的带权路径长度

所有叶子节点的带权路径长度之和

示例:假设有一棵哈夫曼树,有 5 个叶子节点,分别为 ABCDE,权值依次为 5、2、3、4、1。它们到根节点的路径长度分别为 2、3、3、2、4。则该树的带权路径长度为:WPL = 5×2 + 2×3 + 3×3 + 4×2 + 1×4 = 10 + 6 + 9 + 8 + 4 = 37

生成步骤

  1. 统计节点权值:首先要统计每个节点的权值,在哈夫曼编码的应用场景中,权值通常代表字符出现的频率。
  2. 构建初始森林:把每个节点当作一棵只有一个节点的树,从而构建一个森林。
  3. 选择最小权值节点:从森林里挑选出两个权值最小的树。
  4. 合并节点:将这两个权值最小的树合并成一棵新树,新树的根节点权值为这两个树的根节点权值之和。
  5. 更新森林:从森林中移除这两个被合并的树,再把新树加入森林。
  6. 重复步骤 3 - 5:不断重复上述步骤,直至森林中只剩下一棵树,这棵树就是哈夫曼树。

压缩比: 

在数据压缩中,压缩比是衡量压缩效果的一个重要指标,它表示原始数据大小与压缩后数据大小之间的比例关系。对于哈夫曼编码,其压缩比的计算方式如下:

压缩比 = 原始数据存储空间 / 压缩后数据存储空间

原始数据 “hello”,字符数量为 5,那么原始数据大小40bit ,5字节。假设字符 “h” 的哈夫曼编码为 “00”,“e” 为 “01”,“l” 为 “10”,“o” 为 “11”。那么 “hello” 的哈夫曼编码为 “0001101011”,总位数为 10 bit。\left \lceil 10/8 \right \rceil=2 字节。在计算压缩后数据大小时向上取整,是因为计算机存储数据的最小单位是字节,即使数据不足一个字节,也需要占用一个完整的字节来存储。

压缩比为2.5。

http://www.dtcms.com/wzjs/534293.html

相关文章:

  • 企业网站建设一般包含哪些内容p2p网站功能
  • 做旅游销售网站平台ppt素马设计官网
  • 网站用户体验设计建设医药网站前要做什么审核
  • 网上祭奠类网站怎么做广州手机app开发
  • 地下彩票网站建设深圳建设网站排名
  • 企业网站维护建设项目实践报告网站建设gzdlzgg
  • t恤在线制作网站佛山专注网站制作细节
  • 网站架构设计师工资水平做网站水晶头
  • 小说网站模板htmlwordpress调用指定文章内容
  • 东城免费做网站怎么修改网站域名
  • 北京工厂网站建设wordpress 游客留言
  • 国外服务器网站浦东新区网站建设推广
  • 成都 网站制作今天十大新闻热点
  • 网站开发要会英语吗网站推广工作好做吗
  • 做洗衣液的企业网站什么是公司主页
  • 用宝塔给远程网站做备份企业网页页面设计
  • 做网站 博客华中农业大学基因编辑在线设计网站
  • 小型网站开发小论文满分企业网
  • 怎么制作网站获取ip手机网站建设的第一个问题
  • 天津科技网站做网站资源知乎
  • 所有北京网站建设公司wordpress文章编辑软件
  • 大学生网站开发工作室总结泰安范镇孟庄村
  • 宠物食品 中企动力提供网站建设ios wordpress fixed
  • 网站上如何设置行间距沧州网站优化价格
  • 网站二次开发模板html旅游网页设计代码
  • 喜欢做木工 网站开发一个企业官网多少钱
  • 使用jsp开发的网站公司营业执照
  • 网站建设维护学习余杭区网站建设
  • 网站页面设计效果图软件系统开发全网优惠
  • expedia电子商务网站建设一键做网站的软件