首页 > 编程语言 >《程序是怎样跑起来的》第六章读后感

《程序是怎样跑起来的》第六章读后感

时间:2024-02-19 16:55:05浏览次数:31  
标签:读后感 哈夫曼 编码 压缩 程序 算法 文件 第六章 游程

第六章主要讲的是自己动手压缩数据。首先我们要知道,文字是以字节为单位记录的,因此我们都可以认为文件就是一串连续存储的字节数据,文件压缩的原理主要是游程编码。像这样将文件内容用“数据x重复次数”来表示的压缩方法,被称为游程编码,游程编码是一种很好用的压缩方法,常用在传真的图像压缩等领域。
其次,第二种压缩方法被称为哈夫曼算法,哈夫曼算法是大卫•哈夫曼于1952年提出的zip格式,也是使用哈夫曼算法来进行压缩的,要实现哈夫曼算法压缩程序的内容会变得很复杂,但相应的压缩效率也会得到很大的提高,哈夫曼算法的要点是根据不同的压缩对象文件来构建最优的编码系统,并基于这一编码系统来进行压缩,因此,哈夫曼编码在不同的文件中是不同的,具体为哪个数据就分配哪个编码,而哈夫曼算法使用哈夫曼树通过哈夫曼算法,可以大幅度提高压缩效率来构建编码系统,从而实现了不用分割符就能区分字符的编码系统。

标签:读后感,哈夫曼,编码,压缩,程序,算法,文件,第六章,游程
From: https://www.cnblogs.com/XIEJIAJIA0812/p/18018535

相关文章

  • 记账本程序开发笔记3:模块设计和框架搭建
    在记账本程序中,可以设计以下模块和框架:       结构体AccountItem:表示记账项,包括itemType(收入或支出)、amount(金额)和detail(说明)。loadDataFromFile函数:从文件加载记账项数据到vector<AccountItem> 中。accounting函数:记账主函数,根据用户输入的操作调......
  • 记账本程序开发笔记1
    记账本程序可以记录用户的收入和支出,可以查询用户的总收入和总支出,还可以查看用户的收支明细。用户可以通过命令行输入不同的指令来操作记账本程序,比如添加收入、添加支出、查询总收入、查询总支出、查看收支明细等。记账本程序的基本功能包括:添加收入:用户输入收入金额和收入说......
  • 记账本程序开发笔记2:需求分析和流程分析
    需求分析:用户可以通过命令行输入不同的指令来操作记账本程序,包括添加收入、添加支出、查询总收入、查询总支出、查看收支明细等功能。程序需要能够记录用户的收入和支出信息,并能够计算用户的总收入和总支出。用户可以查看收支明细,包括收入和支出的金额和说明......
  • 《程序是怎样跑起来的》第7章
    第七章主要讲程序在怎样的环境下运行。一般来说,应用程序的运行环境是指操作系统的类型以及硬件(CPU、内存等)的类型和性能指标。运行环境=操作系统+硬件每一个应用程序都有其对应的运行环境。程序的运行环境是通过操作系统和硬件来表示的,也就是说,操作系统和硬件决定了程序的运行环......
  • 晚上调代码时写对拍程序之——为了不手写平衡树而乱搞的可支持随机访问、快速插入、快
    前言由于需要一个可支持随机访问、快速插入、快速删除的数据结构,但是我除了平衡树实在是想不到别的东西了,于是就乱搞出了一个这样的东西——abstract数组。但是,这玩意好像码量和平衡树差不多......不过!我认为她还是有优点的:相比起平衡树,她应该更不容易出锅?总之,不管怎么样,还是......
  • Flink入门之Flink程序开发步骤(java语言)
    Flink入门之Flink程序开发步骤(java语言)文章目录(0)开发程序所需依赖(1)获取执行环境(2)加载/创建数据源(3)数据转换处理(4)处理后数据放置/输出(5)执行计算程序(6)完整示例注:本篇章的flink学习均是基于java开发语言我们如果要使用flink进行计算开发,一个完整的开发步骤是怎样的呢?前......
  • 唯一客服系统:Golang开发客服系统源码,支持网页,H5,APP,微信小程序公众号等接入,商家有PC端
    本系统采用GolangGin框架+GORM+MySQL+Vue+ElementUI开发的独立高性能在线客服系统。客服系统访客端支持PC端、移动端、小程序、公众号中接入客服,利用超链接、网页内嵌、二维码、定制对接等方式让网上所有通道都可以快速通过本系统联系到商家。 服务端可编译为二进制程序包,无......
  • 对于程序员来说CPU是什么
    通过第一章的学习,我了解到的CPU是计算机的核心组件,它是计算机执行计算和逻辑运算的部分,负责解释和执行指令,控制计算机的各个部分协同工作。CPU按照程序的指令执行相应的操作。CPU是寄存器的集合体(在代码清单中,exa和ebp表示的都是寄存器)。CPU的控制器就会参照程序计数器的数值,从内......
  • 前端知识回顾概览--小程序开发
    1. 小程序入门小程序的基础使用小程序生命周期小程序架构-双线程模型运行机制自己仿一个简易小程序2. 微信小程序详解微信小程序开发API详解微信小程序开发/发布/上线流程详解微信小程序原理解析3. 工程化开发小程序小程序工程化详解4. 百度/支付宝小程序......
  • 《程序是怎样跑起来的》第五章:内存与磁盘的亲密关系
    当我们谈论计算机的存储系统时,我们经常提及内存和磁盘。对于许多初学者,这两者似乎都是用于存储数据的,但它们之间存在巨大的差异。在第五章中,作者详细解释了这两者之间的区别和联系,帮助我们更深入地理解它们的角色和功能。内存,也被称为RAM(随机存取存储器)是计算机中用于临时存储数......