哈夫曼编码中使用的数据结构是树结构。
哈夫曼编码,也称为哈夫曼编码,是一种编码方法。哈夫曼编码是一种可变字长编码。哈夫曼在1952年提出了一种编码方法。该方法根据字符出现的概率构造不同前缀平均长度最短的码字。有时称为最佳编码,一般称为哈夫曼编码(有时也称为哈夫曼编码)。
哈夫曼编码在哈夫曼算法的支持下构造了一个最优的二叉树,称为哈夫曼树。因此,确切地说,哈夫曼编码是在哈夫曼树的基础上构造的一种编码形式,有着非常广泛的应用。
我认为这种理解并不全面。首先,算法的核心是如何利用抽象的数学模型来解决这个实际问题,而实现的手段是通过代码编程,所以算法的核心是数学,基本上是精确的。但是说数学是一种算法是一个大问题。数学涉及面很广。它是一个自洽系统。随着人类认识水平的提高,数学也在不断发展,许多新的数学工具被开发出来帮助我们解决实际问题。
因此,如果数学是它背后的真理理论,那么算法就是用部分真理来帮助我们解决一些具体问题。这是我的理解。
文件压缩的原理非常简单。我举个例子。例如,如果你是一家公司的老板,你想知道下面100名员工的工资,所以hr会给你一个excel表格。
此excel有100行,第一行是姓名,第二行是相应的薪资。hr给你每个员工的工资,这是文件本身。你开始称赞这位员工工作认真。第二天,一个聪明的人事专家来了。他发现,除了第一个员工是2000元外,excel表实际上要花1000元。因此,智能人事专家重新绘制了一个excel表格,只有两行。第一条线第一个员工2000元,第二条线其他员工1000元。这叫做压缩。这也称为无损压缩。
但如果其他员工不都是1000元,有的是998元,有的是999元,有的是1002元,有的是1003元。你只是老板,不是工薪族,所以没必要这么细心地掌握,所以这个聪明的员工还是给你一张桌子,第一行是2000,第二行是其他员工1000。虽然这张表格不够准确,但足以让你了解整体薪资。这称为有损压缩。