第六周作业1 -- 利用哈夫曼编码英文字母表

哈夫曼编码--英语文章的编码&译码(c/c++) 一.Huffman编码与解码 (Huffman编码、二叉树) [问题描述] 对一篇英文文章(大于2000个英文字符),统计各字符出现的次数,实现Huffman编码,以及对编码结果的解码。 [基本要求] (1) 输出每个字符出现的次数和编码,其中求最小权值要求用堆实现。 (2) 在Huffman编码后,要将编码表和英文文章编码结果保存到文件中,编码结果必须是二进制形式,即0 1的信息用比特位表示,不... 阅读详情

注意:对于本次作业,画完图后得出树的顶端概率值不为100(实为101),考虑对计算原理不影响,故不作修改。按原题所给数据进行计算。原题附上:算法概论书本习题5-18


前往了解哈弗曼树




画出哈弗曼树如下:




(a)最优哈弗曼编码:


/**

\s:001
a:0101
b:100000
c:11001
d:01001
e:111
f:000000
g:110001
h:1011
i:0110
j:0000100010
k:00001001
l:01000
m:000011
n:1101
o:0111
p:100001
q:0000100001
r:1010
s:1001
t:0001
u:10001
v:0000101
w:000001
x:0000100011
y:110000
z:0000100000

*/

(b)平均编码位数:6

(c):熵值比平均位数大,公式中计算过程存在浮点数。

(d):否。亦可考虑如单词的修饰词等。

数据结构实验三:树的应用(对任意输入的一段英文,为每个字符编制其相应的赫夫曼编码;并利用该编码为任意输入的0、1序列进行解码) 阅读详情

相关推荐

第六周作业——1.利用哈夫曼编码英文字母表,2哈夫曼编码实现

题目一: (1)最优huffman编码为:   111 (此) a 1010 b 100100 c 00101 d 10111 e 010 f 110100 g 100111 h 0001 i 0111 j 1101101110 k 11011010 l 10110 m 110111 n 0110 o 1000 p 100110 q 1101101100 r

草绿豆子的专栏 3593

哈夫曼编码(Huffman coding)

哈夫曼编码(Huffman coding)

ProgramNovice的博客 1376

第六周作业1-利用哈夫曼编码英文字母表

1. 哈夫曼编码。对教材P167中习题5.18,思考并完成问题a-d。 (下表给出了英文字母(包括用于分割单词的空格)在某文集中的出现频率。 空格      18.3%    |   r        4.8%    |  y       1.6%    e         10.2%   |   d        3.5%   |  p        1.6%  

彼得斯坦的博客 1081

数据结构实验5:哈夫曼编码

哈夫曼编码实现文本压缩1、输入字符串,输出字符串的哈夫曼编码; 输入文本文件(英文),输出哈夫曼编码文件2、附加:解压缩

weixin_51703554的博客 1863

对26个英文字母进行哈夫曼编码

对26个英文字母(已知它们的概率分布)进行了哈夫曼编码,并计算了编码效率。有助于大家理解哈夫曼编码以及信息论的相关知识哦。

用哈夫曼编码统计一段英文中字母的频率

输入任意一段英文,自动统计其中各字母出现的频率及次数,并在屏幕上输出结果

第六周作业1——利用哈夫曼编码英文字母表

根据上诉的给出的条件得出英文字母表的哈夫曼树如下:

搬砖头的小明 1023

对任意输入的一段英文,为每个字符编制其相应的赫夫曼编码;并利用该编码为任意输入的0、1序列进行解码.

实现对二叉树的一个指定的操作或用二叉树解决一应用问题 问题描述:对任意输入的一段英文,为每个字符编制其相应的赫夫曼编码;并利用该编码为任意输入的0、1序列进行解码. 基本要求:一个完整的系统应具有以下功能: (1)初始化 从终端读入一段英文字符,统计每个字符出现的频率,建立赫夫曼树,并将该树存入某文件; (2)编码 利用建好的赫夫曼树对各字符进行编码,用列表的形式显示在屏幕上,并将编码结果存入另一文件中; (3)解码 利用保存的赫夫曼编码,对任意输入的0,1序列能正确解码;

上一篇: 第五周作业 -- 有向图邻接表表示及反向图构造
下一篇: 第七周作业3 -- 最长递增子序列
MisterPan
博客等级 码龄14年 9粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值