C语言哈夫曼编码压缩解压
一、实验目的
掌握哈夫曼编码基本运算以及存储结构表示。
二、实验内容:
1.系统要求包含以下功能
1)初始化:从终端读入字符集大小n,以及n个字符和n个权值(或者读入字符集和频度数据文件),建立哈夫曼树,并将哈夫曼树存入到文件HfmTree中。
2)编码:利用已建好的哈夫曼树(如果不在内存中,则从文件中读入),从文件ToBeTran中读入原文,对原文进行编码,将编码后的结果存入文件CodeFile中。
3)译码:利用已建好的哈夫曼树将文件CodeFile中的代码进行译码,结果存入文件TextFile中。
4)打印:打印输出哈夫曼树,显示ToBeTran, TextFile和CodeFile文件的内容。
三、实验要求:
1.能在机器上正确运行程序;
2.用户界面友好。
四、测试数据:
1.字符集和频度数据(建树依据)
字符 | 空格 | A | B | C | D | E | F | G | H |
---|---|---|---|---|---|---|---|---|---|
频度 | 186 | 64 | 13 | 22 | 32 | 103 | 21 | 15 | 47 |
字符 | I | J | K | L | M | N | O | P | Q |
频度 | 57 | 1 | 5 | 32 | 20 | 57 | 63 | 15 | 1 |
字符 | R | S | T | U | V | W | X | Y | Z |
频度 | 48 | 51 | 80 | 23 | 8 | 18 | 1 | 16 | 1 |
2.原文内容“THISISMYPROGRAM”
源码传送门
传送门:https://pan.baidu.com/s/1JJs9vbZahUCB6cQvXLgAVg?pwd=1111
标签:解压,编码,哈夫曼,C语言,读入,频度,CodeFile From: https://www.cnblogs.com/codewriter/p/16845095.html