您现在的位置是:首页 > 正文

数据结构(6):树:赫夫曼树及其应用

2024-01-30 20:01:08阅读 0

赫夫曼树
压缩技术利用赫夫曼树,对压缩文本进行重新编码。利用赫夫曼编码。

由于数据出现的频率是不一样的,所以可以用事先规定好的编码来节约编码量。

在这里插入图片描述
从树中的一个结点到另一个结点之间的分支构成两个结点之间的路径,路径上的分支数目称做路径长度。

二叉树a的路径长度是 20 二叉树b的路径长度是 16

带权路径长度
二叉树a:WPL:5x1+15x2+40x3+30x4+10x4=315

二叉树b:WPL:5x3+15x3+40x2+30x2+10x2=220

性能提升了很多

如何构建赫夫曼树
1、先把有权值的叶子结点按照从小到大的顺序排列成一个有序序列,即:A5、E10、B15、D30、C40.
(大话数据结构)P204

网站文章

  • HTML CSS是什么?HTML CSS你了解多少?

    HTML CSS是什么?HTML CSS你了解多少?

    码字不易,转载请务必注明原文出处。 不断学习,后期的新增笔记会继续加到文章上方 点击链接后退页面: 回到上一个网页 ——修改placeholder提示的样式: 1.除IE外通用写法 类名或标签名::p...

    2024-01-30 20:01:00
  • 电脑开不了机计算机无法启动,电脑开不了机!一直在循环启动?是为什么?

    在书中抄一个案例:他也出现你一样的故障(两次或多次按开机才能进入系统,当然不见得你也是这种故障,可以参照检修),专家这样说:根据故障现象分析,操作系统基本正常,故障应该是硬件方面的。用替换法分别检查内...

    2024-01-30 20:00:32
  • LeetCode148.排序链表

    LeetCode148.排序链表

    先创建一个哑节点,然后分别比较左右两个链表的头节点,最小的先移到哑节点后面,然后这个链表的指针移到下一个节点,下次比较就是这个链表的第2个节点和另一个链表的第一个节点,(因为两个链表都是已经排好序的,...

    2024-01-30 20:00:14
  • Markdown语法之段落与换行

    Markdown语法之段落与换行

    Markdown语法之段落与换行 没有空行 我是第一行 我是第二行 有空行 我是第一行 我是第二行 段内换行 我是第一行,如果想段内换行需要在结尾插入两个以上的空格 我是第二行...

    2024-01-30 20:00:07
  • Mybatis源码解析(四) —— SqlSession是如何实现数据库操作的?

    Mybatis源码解析(四) —— SqlSession是如何实现数据库操作的?

    Mybatis源码解析(四) —— SqlSession是如何实现数据库操作的?  如果拿一次数据库请求操作做比喻,那么前面3篇文章就是在做请求准备,真正执行操作的是本篇文章要讲述的内容。正如标题一样,本篇文章最最核心的要点就是 SqlSession实现数据库操作的源码解析。但按照惯例,我这边依然列出如下的问题:1、 SqlSession 是如何被创建的? 每次的数据库操...

    2024-01-30 19:59:39
  • Java基础之comparator和comparable的区别以及使用

    Java基础之comparator和comparable的区别以及使用1: 区别:1、Comparable类需要实现此接口,定义在类内,不利于扩展2 、Comparator更灵活,可以随时自定义比较规则 使用: 2.2、 Collections.sort(List<T> list,Comparator<? super T> ...

    2024-01-30 19:59:31
  • 《制造业数据建设白皮书》

    《制造业数据建设白皮书》

    如何提高柔性生产水平、科学敏捷决策,在波动不定的市场环境中始终保留自己的一席之地,是制造企业需要持续关注的问题,也成为了每一个制造行业企业主的必然“大考”。制造行业是立国之本与强国之基,以数字经济发展...

    2024-01-30 19:59:23
  • matplotlib:添加引导线及多组数据直方图

    matplotlib:添加引导线及多组数据直方图

    2024-01-30 19:58:55
  • Vue学习过程中的坑

    Vue学习过程中的坑

    1.在创建组件时报错Invalid value for option "components": expected an Object, but got Array在注册组件时,components:{},而非components:[],解决办法:components:{ template}学习博客:https://blog.csdn.net/zhongg...

    2024-01-30 19:58:47
  • 《Linux私房菜》——二、BASH以及相关命令(变量、配置文件、数据流定向、pipe、sort、选取命令等)

    本文来自《鸟哥的Linux私房菜》学习以及知识点整理,仅供学习使用文章目录一、查看系统合法的shell二、bash的优点历史命令文件补全别名三、查看命令类型type四、命令执行、删除快捷键五、变量5....

    2024-01-30 19:58:39