首页 > 其他分享 >哈夫曼树复习

哈夫曼树复习

时间:2023-01-20 18:00:42浏览次数:45  
标签:编码 结点 复习 哈夫曼 ... 二叉树 权值

哈夫曼编码--最基本的压缩编码方法

哈夫曼树,特殊的二叉树 

哈夫曼树的定义与原理:

WPL最小

构造步骤

1,先把有权值的叶子结点按照,从小到大的顺序排列成一个有序序列

2,取头两个最小权值结点作为新节点N1的两个子节点。

3,将N1替代序列中的最小的两个权值结点。

4,递归(2),直至完成。

这样,权值最小的,路径大,权值最大的路径小,这样才能保证WPL最小。此时权值结点,都会位于叶结点。

 

 

哈夫曼树编码

一般的设需要编码的字符集为{d1,d2,d3...,dn},各个字符在电文中出现的次数或频率集合为1{w1,w2,w3,...wn},

以d1,d2,...,dn作为叶子结点,以w1,w2,...wn作为相应叶子结点的权值来构造一棵哈夫曼树。规定哈夫曼树的

左右支代表0,右分支代表1,则从根结点到叶子结点所经过的路径分支组成的0和1的序列便为该结点对应字符的编码1,这就是哈夫曼编码。

 

重点内容

1,前,中,后,层次遍历

2,存储结构,顺序存储,链式存储

3,诸多概念

4,二叉树

5,哈夫曼树,哈夫曼编码

6,树,二叉树,森林之间的转换

7,树的双亲表示法,孩子表示法,孩纸兄弟表示法。

标签:编码,结点,复习,哈夫曼,...,二叉树,权值
From: https://www.cnblogs.com/abwork-space/p/17062971.html

相关文章

  • 树,森林与二叉树的转换复习
    普通的树,结构太多,研究起来也很复杂。但是依据树的孩子兄弟表示法,可以将普通的树,转换为二叉树,就方便很多。转换步骤:1,加线:在所有兄弟之间连线2,去线:对树中每个结点,只保留它......
  • 北邮工程硕士_数据库系统设计_考试复习答案
    考试范围:第一章第二章第三章第四章SQL 复习题1.      试述数据管理的发展阶段。手工管理阶段(50年代中期以前)文件系统阶段(50年代末-60年代末)数据库系统阶段(60年......
  • bbs复习day02
    day027.注册功能1.添加路由2.编写view函数3.单独开设一个py文件编写注册的信息对比4.开设html页面编写注册样式5.发送ajax请求能够注册成功难点:注册信息的校......
  • bbs复习day01
    BBS项目复习day011.创建项目2.配置设置templates路径设置数据库设置第三方js,css文件路径设置3.app创建创建apppython38manage.pycreateappapp01app添加sett......
  • 二叉树的复习
    特殊的树状结构--二叉树二叉树是n(n>=0)个结点的集合,该集合或者为空集(称为空二叉树),或者由一个结点和两棵互不相交的,分别称为根结点的左子树和右子树的二叉树组成。二叉树的......
  • python复习功课
    一、类方法(实例方法、类方法、静态方法)使用方式:1.实例方法是必须实例化可访问构建方法中的实例属性,也可通过类名去使用类属性,常用是实例化类给到一个类对象,用类对象.方法......
  • Java 基础复习
    Java基础复习java常用转义字符1)\t一个制表位,实现对齐的功能2)\n换行符3)\\一个\4)\"一个"5)\'一个'6)\r一个回车注释单行注释//多行注释/**/文......
  • 树结构的复习
    树:n个结点的有限集。n=0时称为空树。在任意一棵非空树中,仅有一个根结点;当n>1时,其余结点可分为m个互不相交的有限集,每个集合又是一个树结构,相当于D&C树:一对多的数据结构.......
  • BBS项目复习总结
    BBS之用户注册思路梳理:1.新建一个django项目,名称可以和bbs相关,准备好数据库、静态模板资源及配置好模板、数据库、用户表重命名配置。2.先准备bbs项目8张表,并理清表之前......
  • IoT Network Transport Layer 复习笔记 南安
    ServicesProvidedtoApplicationLayer:TCP/IPUDPTransportServicePrimitives传输服务原语Addressing寻址当一个应用进程希望与另一个远程应用进程建立连接......