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

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

时间:2024-02-23 16:15:42浏览次数:23  
标签:哈夫曼 压缩 程序 技术 算法 第六章 压缩算法 数据压缩 怎样

当我翻阅到“亲自尝试压缩数据”这一章节时,我被作者深入浅出的叙述和丰富的实践案例所吸引。这部分内容不仅是对数据压缩概念的讲解,更是一次思考与实践相结合的完整体验。阅读完毕后,我对于数据压缩技术的理解有了全新的认识,也对这项技术背后蕴含的智慧感到赞叹。

本章重点介绍了压缩原理、RLE算法的优缺点以及哈夫曼算法。
1.把文件内容用“数据*重复次数”的形式来表示的压缩方法称为RLE算法,它经常被用于压缩传真的图像,但它并不适合文本文件的压缩。
2.哈夫曼算法是哈夫曼于1952年提出来的压缩算法。它的关键在于“多次出现的数据用小于8位的字节数来表示,不常用的数据则可以用超过8位的字节数来表示”。

数据压缩作为计算机科学中的一项基础技术,它的目的是为了减少数据的存储空间和提高数据传输的效率。在阅读本章节之前,我已经知道一些流行的压缩算法,如ZIP和RAR等,但对于压缩算法的原理和实现细节却知之甚少。本章从理论到实践,逐步引导我走进了数据压缩的世界。

首先,作者介绍了数据压缩的基本原理,包括无损压缩和有损压缩的区别。无损压缩算法能够确保原始数据在解压缩后完全恢复,而有损压缩则可能会舍弃一些非关键信息以获取更高的压缩比。这两种方法各有千秋,适用于不同的场景和需求。

接下来,本章通过一个个具体的示例,如使用霍夫曼编码、运行长度编码和Lempel-Ziv算法等,展示了压缩算法的工作原理和实现过程。这些例子不仅让我理解了压缩算法的数学原理,还让我看到了它们在实际中的应用效果。尤其是通过亲自编写代码实现简单的压缩和解压缩过程,让我对算法的运作有了更加直观的感受。

此外,本章也提到了压缩技术在现实生活中的应用,如网络传输、存储备份等。这些应用场景让我意识到,数据压缩技术并非遥不可及的学术概念,而是与我们的日常生活息息相关。它为我们节省了大量的存储空间,加快了数据传输的速度,提高了工作效率。

阅读完这一章节,我对数据压缩技术有了更深刻的理解。这不仅仅是对一项技术的掌握,更是对计算机科学领域知识的一种探索和实践。通过动手实践,我学会了如何将抽象的算法转化为具体的代码,这对提升我的编程能力和逻辑思维大有裨益。

总结来说,《程序是怎样跑起来的》中“亲自尝试压缩数据”的章节给了我一次难得的学习体验。它不仅拓宽了我的知识视野,还激发了我对计算机科学的兴趣。在这个信息爆炸的时代,数据压缩技术的重要性不言而喻,而通过本章的学习,我更加坚信技术的力量可以让我们的世界变得更加高效和美好。

标签:哈夫曼,压缩,程序,技术,算法,第六章,压缩算法,数据压缩,怎样
From: https://www.cnblogs.com/yzh040212/p/18029778

相关文章

  • 程序员怎么做沟通?聊一聊程序员沟通相关的问题
    一、程序员不善言词在大家的印象中,程序员好像是一群不善言词的理工男。为什么大家会有这种刻板的印象呢?因为程序员的工作,只需要一台电脑,一根网线,就可以开始工作了。好像不需要与人打交道。一段进入到工作状态,编码的时候还不希望被别人打扰,其实是编码思路不愿意被打断。这时候,他......
  • 《程序是怎样跑起来的》第九章
    第九章带我深入理解了程序的执行过程,让我对计算机的底层操作有了更加直观的认识。编译是将源代码转换为机器码的过程,而链接则是将各个编译后的目标文件组合起来,形成一个可以执行的程序。这两个过程虽然复杂,但它们是程序能够正常运行的关键。我学到了许多关于程序优化的知识。程......
  • 通过汇编语言了解程序的实际构成
    1.汇编语言和本地代码是一一对应的。即使使用汇编语言编写的源代码,最终也必须转换成本地代码才能运行。负责转换工作的程序称为汇编器,转换这一处理本身称为汇编。2.通过编译器输出汇编语言的源代码。3.不会转换成本地代码的指令的伪指令:汇编语言的源代码,是由转换成本地代码的指......
  • 《程序是怎样跑起来的》第十二章
    心得:在本章我们通过一个简单的游戏程序《猜拳游戏》,对计算机的“思考”机制进行了详细的说明知识点:1、“工具”程序和“思考”程序程序就如同是由计算机执行的各种指令罗列起来的文章。计算机内部的CPU通过对该文章的内容进行解析和运行,来控制连接到计算机的各种外围设备。具体......
  • 《程序是怎样跑起来的》——第十章读后感
    一:1.汇编语言是使用助记符来编写程序的。2.汇编需要使用汇编器来完成。3.通过反汇编可以得到人类能够理解的源代码。4.汇编语言源文件的扩展名在Windows中主要是asm,在Limu中主要是s。不过,本章中使用的C语言编译器BCC32虽然是在Windows环境下运行的,但使用了s作为汇编语言源......
  • 使用C# WPF写简单的桌面应用程序
    前言微软真是永远滴神,VisualStudio不愧是宇宙第一IDE,C#相比Java真的是语法简洁优雅案例实现了一个快速重命名的小程序,打包完以后的exe不到200KB,比Java轻的不是一点半点,而且在windows上执行效率很高,直接就可以在windows双击运行创建项目VisualStudio安装选择WPF选择.......
  • 《程序是怎样跑起来的》第五章读书笔记
    从都具有存储程序命令和数据这点来看,内存和磁盘的功能是相同的。在计算机的五大部位中,内存和磁盘也都也都被归类为存储部件。不过利用电流来实现存储的内存,同利用磁效应来实现存储的磁盘,还是有差异的,而从存储容量来看,内存是告诉高价,而磁盘则是低速廉价。程序保护在存储设备中,通过......
  • 第六章 自己动手压缩数据
    《程序是怎样跑起来的》这本书的第六章“自己动手压缩数据”为读者揭示了一个神奇而又实用的世界——数据压缩。在阅读这一章之后,我不仅对数据压缩的原理有了更深入的理解,也对计算机科学中的实用技术产生了浓厚的兴趣。这一章首先介绍了文件是以字节为单位记录的。文件是在磁盘等......
  • 《程序是怎样跑起来的》第四章读书笔记
    内存IC中内存IC中有电源,地址信号,数据信号,控制信号等用于输入输出的大量引脚,通过为其指定地址,来进行数据的读写。像WR和RD这样可以让IC运行的信号称为控制信号。当WR和RD同时为0时,写入和读出的操作都无法进行。编程语言中的数据类型表示存储的是何种类型的数据。指针也是一种变量,......
  • 数据可视化是怎样在智慧工业中发挥作用的?
    在智慧工业的大潮中,数据可视化崭露头角,以其直观、清晰的方式赋能工业生产,为智慧工业的高效运转提供了强有力的支持。下面我就以可视化从业者的角度,简单聊聊这个话题。数据可视化首先在智慧工业的生产监控中大显身手。通过将实时产线数据以图形、图表等形式呈现,生产管理人员可以一......