• 大小: 1.07MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-01-06
  • 语言: 其他
  • 标签: Huffman  

资源简介

压缩 (1)统计原始文件中各字节出现的概率(次数); (2)采用哈弗曼算法对各字节进行编码,建立哈弗曼对照表; a)构造二叉树 b)编码 (3)依次读取原始文件的每个字节,查找其对应的哈弗曼编码,将这些位写入到压缩文件中(注意:要凑够8位二进制才写入到文件中)。 (4)将原始文件中各字节及出现的次数也写入到压缩文件中。 2、解压 (1)从压缩文件中获得原始文件各字节及出现的次数,并根据此构造哈弗曼对照表; (2)将压缩文件中对应原始文件数据的部分依据哈弗曼对照表还原成原来的字节,写入到解压文件中。

资源截图

代码片段和文件信息

/* Huffman Code */  
#include   
#include   
#include   
#include   
#include   
#include   
#include “Huffman.h“

int main(void)  
{    
    FILE * fin = fopen(“2.in“ “r“);  
    int c;
    while( (c=fgetc(fin)) != EOF )  
    {  
        Asc[c].alpha = c;  
        Asc[c].value++;  
    }  
    puts(““);  
    qsort(Asc sizeof(Asc)/sizeof(Asc[0]) sizeof(Asc[0]) Compare);
    TreeNode * HuffmanRoot = CreateHuffmanTree(Asc);
    Pre(HuffmanRoot);  
    cout << “Char\tTimes\tCode\n“;  
    for(int i=0; i    {  
        if(Asc[i].value != 0)  
        {  
            cout << (char)Asc[i].alpha << “\t“ << Asc[i].value << “\t“ << charHuffmanTable[Asc[i].alpha] << endl;  
        }  
    }

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-11-29 11:08  Huffman\
     文件           2  2015-11-23 11:53  Huffman\1.bin
     文件          12  2015-11-22 21:14  Huffman\2.in
     文件           0  2015-11-29 11:08  Huffman\2.txt
     文件          12  2015-11-23 11:53  Huffman\3.out
     目录           0  2015-11-23 11:53  Huffman\Debug\
     文件      553014  2015-11-23 11:53  Huffman\Debug\Huffman.exe
     文件      793916  2015-11-23 11:53  Huffman\Debug\Huffman.ilk
     文件      184804  2015-11-23 11:53  Huffman\Debug\Huffman.obj
     文件     2238976  2015-11-23 11:12  Huffman\Debug\Huffman.pch
     文件     1123328  2015-11-23 11:53  Huffman\Debug\Huffman.pdb
     文件       74752  2015-11-23 11:53  Huffman\Debug\vc60.idb
     文件      110592  2015-11-23 11:53  Huffman\Debug\vc60.pdb
     文件        1781  2015-11-23 11:53  Huffman\Huffman.cpp
     文件        4352  2015-11-23 11:30  Huffman\Huffman.dsp
     文件         522  2015-11-22 21:17  Huffman\Huffman.dsw
     文件        3487  2015-11-23 11:53  Huffman\Huffman.h
     文件       50176  2015-11-29 09:20  Huffman\Huffman.ncb
     文件       53760  2015-11-29 09:20  Huffman\Huffman.opt
     文件        1274  2015-11-23 11:53  Huffman\Huffman.plg

评论

共有 条评论