首页 > 编程语言 >《程序是怎么跑起来的》第6章

《程序是怎么跑起来的》第6章

时间:2024-02-28 21:47:37浏览次数:24  
标签:怎么 字符 起来 哈夫曼 编码 二进制位 压缩 程序 分隔符

本章节中,主要讲自己动手压缩数据并且压缩数据的原理。
通过莫尔斯编码来看哈夫曼算法的基础 
哈夫曼算法的思想与摩尔斯码的思想类似,不是所有的内容都存入等长的二进制位中,而是把数据中经常出现的字符用尽可能短的二进制位数表示,较少出现的字符用较长的二进制位数表示。在计算机中存储时当然要以字节的整数倍存储,所以不足的要补全
用二叉树实现哈夫曼编码

  1. 因为不同字符所占的二进制位数不一样了,所以原始做法是加入分隔符来区分字符,但是分隔符也是要占据空间的
  2. 哈夫曼树有一个优化是,他会对不同的文件,按文件内部字符出现的频率,来确定字符占用的二进制位数,这部分编码信息也会占据空间,但这是值得的
  3. 通过哈夫曼树,可以不使用分隔符,哈夫曼树是从叶子结点向根节点方向构建的,先统计出字符出现的频率,然后每次将词频最低的两个连接
    用二叉树实现哈夫曼编码  
  4. 因为不同字符所占的二进制位数不一样了,所以原始做法是加入分隔符来区分字符,但是分隔符也是要占据空间的
  5. 哈夫曼树有一个优化是,他会对不同的文件,按文件内部字符出现的频率,来确定字符占用的二进制位数,这部分编码信息也会占据空间,但这是值得的
  6. 通过哈夫曼树,可以不使用分隔符,哈夫曼树是从叶子结点向根节点方向构建的,先统计出字符出现的频率,然后每次将词频最低的两个连接
    可逆压缩和非可逆压缩  
  7. BMP格式的图像是完全没有经过压缩的,所以叫bitmap
  8. jpeg、tiff、gif都是经过压缩的,jpeg是非可逆压缩,gif是可逆压缩
    以上就是我本章的收获啦!

标签:怎么,字符,起来,哈夫曼,编码,二进制位,压缩,程序,分隔符
From: https://www.cnblogs.com/wylive/p/18041953

相关文章

  • 《程序是怎样跑起来的》第7章
    第七章主要讲程序在怎样的环境下运行。一般来说,应用程序的运行环境是指操作系统的类型以及硬件(CPU、内存等)的类型和性能指标。运行环境=操作系统+硬件Windows克服了CPU以外的硬件差异不同操作系统的API不同FreeBSDPort帮你轻松使用源代码Ports机制是porting(移植)的意......
  • 《程序是怎样跑起来的 》 日矢泽久雄 第十二章
    我对硬件和软件之间的区别有了更清晰的认识。作者详细介绍了主要的硬件部件如CPU、控制器、运算器、输入设备和输出设备等,并讲解了它们各自的功能和工作方式。这使我明白,虽然计算机看起来只是一个黑盒子,但其内部的复杂性远远超过了我们的想象。我对输入指令和输出指令有了更深入......
  • 《程序是怎样跑起来的》第十一章读后感
    硬件性能设计控制。主要采取双重电路、双重读出和回波校验等方法。双重电路可执行双重计算并比较两个计算结果;双重读出即以两个阅读器分别阅读卡片、磁带,或随机存取媒体上的记录,并比较两个阅读操作的结果;回波校验即将数据送回原输出装置与其原始数据相比较,以校验接收装置所收到的......
  • 《程序是怎样跑起来的》第十二章读后感
    要让计算机能够思考,需要使用深度学习技术。深度学习是一种模拟人类神经网络的机器学习技术,通过训练大量的数据,让计算机能够自动地学习和理解输入的数据,并从中提取有用的特征和模式。深度学习技术可以应用于语音识别、图像识别、自然语言处理等领域,让计算机能够自动地识别和理解人......
  • 程序是怎样跑起来第11章观后感
    和硬件既相对独立又相互联系,这句话大家应该都能理解,这一章提到了控制输入输出的IN指令和OUT指令,IN指令用于输入数据,并将其存储在CPU内部的寄存器中,而OUT指令则是把CPU寄存器的数据,输出到指定端口号的端口。我对这两个概念的理解就到这了,这里作者又提出来了一个新概念,就是IRQ(中断......
  • 《程序是怎么跑起来的》第5章
    第五章节中,主要讲诉内存与磁盘的密切关系。本章我学习了为了加快了磁盘访问速度所以有了磁盘缓存,磁盘缓存是把从磁盘中读出的数据存储到内存中的方式,内存当做磁盘的缓存。不过现在好像已经有了新技术。虚拟内存把磁盘作为部分内存来使用,上一小节是把内存中的一部分当做磁盘,这里是......
  • 程序是怎样跑起来第九章观后感
    又到了读书分享的时候,本篇分享《程序是怎样跑起来的》第九章的读后感,操作系统和应用的关系。开篇向我们介绍了操作系统功能的历史,在计算机中上不存在操作系统的年代,完全没有任何程序,因此所要编写的过程非常麻烦,于是有人开发出了仅具有加载和运行功能的监控程序,这就是操作系统的原......
  • 程序是怎样跑起来第十章观后感
    在阅读了《程序是怎样跑起来的》这本书的第十章后,我对计算机程序运行的内部机制有了更深入的了解。这一章主要讲解了操作系统和应用程序之间的关系,以及程序在计算机中是如何被调度和执行的。这些内容对于初学者来说可能有些抽象和难以理解,但作者通过生动的图解和深入浅出的语言,使......
  • 《程序是怎么跑起来的》第3章和4章
    通过第3章和第4章的阅读和学习我有了以下几个问题并找到了问题的答案:1:二进制数0.1,用十进制数表示的话是多少?答:0.5=2的-1次方。2:用小数点后有3位的二进制数,能表示十进制数0.625吗?答:能。0.101。3:将小数分为符号、尾数、基数、指数4部分进行表现得形式称为什么?答:浮点数。......
  • 程序是是怎样跑起来第七章观后感
    读完第七章后,我对程序中的数组和字符串有了更深入的理解。这一章详细介绍了数组和字符串的特性、操作以及在编程中的应用。我了解到数组是一种有序的元素集合,可以用于存储和操作一组相同类型的数据。通过对数组的索引操作,我们可以方便地访问和修改其中的元素。字符串作为特殊的......