登录
首页 » 数据结构 » 哈夫曼

哈夫曼

于 2022-06-18 发布 文件大小:76.19 kB
0 130
下载积分: 2 下载次数: 1

代码说明:

将文件中的字符作为结点,每个字符在文件中出现的频率作为结点的权值,采用Huffman算法构造Huffman树,将字符用尽可能短的二进制数位表示(频率越低,二进制数位越长),而不是用8位的ASCII码进行存储,已达到节省存储空间,压缩文件的目的。

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 假设一个文件中出现了8种符号S0,SQ,S2,S3,S4,S5,S6,S7,那么每种符号要编码,至少需要3bit。假设编码成000,001, 010,011,1...
    假设一个文件中出现了8种符号S0,SQ,S2,S3,S4,S5,S6,S7,那么每种符号要编码,至少需要3bit。假设编码成000,001, 010,011,100,101,110,111。那么符号序列S0S1S7S0S1S6S2S2S3S4S5S0S0S1编码后变成 000001111000001110010010011100101000000001,共用了42bit。我们发现S0,S1,S2这3个符号出现的频率比较大,其它符号出现的频率比较小,我们采用这样的编码方案:S0到S7的码辽分别01,11,101,0000,0001,0010,0011, 100,那么上述符号序列变成011110001110011101101000000010010010111,共用了39bit。尽管有些码字如 S3,S4,S5,S6变长了(由3位变成4位),但使用频繁的几个码字如S0,S1变短了,所以实现了压缩。对于上述的编码可能导致解码出现非单值性:比如说,如果S0的码字为01,S2的码字为011,那么当序列中出现011时,你不知道是S0的码字后面跟了个1,还是完整的一个S2的码字。因此,编码必须保证较短的编码决不能是较长编码的前缀。符合这种要求的编码称之为前缀编码。要构造符合这样的二进制编码体系,可以通过二叉树来实现。-Suppose a file appears in eight kinds of symbols S0, SQ, S2, S3, S4, S5, S6, S7, then each symbol to be encoded, at least 3bit. Suppose encoding 000,001, 010,011,100,101,110,111. Then the symbolic sequence S0S1S7S0S1S6S2S2S3S4S5S0S0S1 encoded into 000001111000001110010010011100101000000001, sharing a 42bit. We found that S0, S1, S2 these three symbols the frequency of relatively large, the other symbols the frequency is relatively smal
    2022-04-27 21:17:34下载
    积分:1
  • 教育考试管理系统,可用于学习库的编写
    教育考试管理系统,可用于学习数据库的编写-Test management system, the database can be used to study the preparation of
    2022-06-02 03:45:13下载
    积分:1
  • 使用VB创建ACCESS
    使用VB创建ACCESS数据库-use VB to create ACCESS database
    2023-05-06 13:30:02下载
    积分:1
  • library managment system
    图书馆
    2022-02-12 04:34:24下载
    积分:1
  • 3X3填质问题,在一个3×3的矩阵中填写1-10的字,保证上下左右相加都是质...
    3X3填质数问题,在一个3×3的矩阵中填写1-10的数字,保证上下左右相加都是质数-3X3 fill several quality problems in a 3 3 matrix to fill in the figures 1-10, ensuring that all about is the sum of the number of quality
    2023-07-03 08:00:04下载
    积分:1
  • addlist very good please download it
    addlist very good please download it
    2022-03-29 05:44:07下载
    积分:1
  • 用链表建立堆栈的简单代码,没有做很多的排错处理,只是了解了解堆栈的实现方式...
    用链表建立堆栈的简单代码,没有做很多的排错处理,只是了解了解堆栈的实现方式
    2022-08-18 06:10:02下载
    积分:1
  • 实验之一,对顺序表进行的增删查改,交过的
    数据结构实验之一,对顺序表进行的增删查改,交过的-Experimental data structure one of the chronological table of the additions and deletions to search, pay-off
    2023-01-19 23:50:03下载
    积分:1
  • Arduino的SD卡
    SD卡读卡器阿杜伊诺.qwewqewq eewq wq ew ewwq eqw eqwe wqe wqe wq ewqe wqe wqe wqe wqe wqe wqe wqe wqe wqe wqe wqe wqe wqe wqe wqe wqe wqe wqe wqe
    2023-02-18 14:25:03下载
    积分:1
  • a small embedded database support SQL commands, the use of very simple
    一个小型的嵌入式数据库,支持SQL命令,使用非常简单-a small embedded database support SQL commands, the use of very simple
    2023-05-21 09:00:04下载
    积分:1
  • 696518资源总数
  • 105604会员总数
  • 18今日下载