社区
数据结构与算法
帖子详情
两道哈夫曼编码的题目,我不会做,大家编码看一下,谢谢了!
rubyt
2009-01-07 01:19:14
(1)在哈夫曼编码中,若编码长度只允许小于等于4,则除了已对两个字符编码为0和10外,还可以最多对几个字符编码?
这题答案是4,我怎么觉得只有3个呢:分别是110,1110和1111。那第四个是什么呀?
(2)n个字符的哈夫曼编码中,各字符编码长度最大值为
A、n B、n-1 C、不大于n/2的最大的整数 D、大于n/2的最小的整数。
不要只说结果,还要写为什么呀,谢谢啦!
...全文
1166
10
打赏
收藏
两道哈夫曼编码的题目,我不会做,大家编码看一下,谢谢了!
(1)在哈夫曼编码中,若编码长度只允许小于等于4,则除了已对两个字符编码为0和10外,还可以最多对几个字符编码? 这题答案是4,我怎么觉得只有3个呢:分别是110,1110和1111。那第四个是什么呀? (2)n个字符的哈夫曼编码中,各字符编码长度最大值为 A、n B、n-1 C、不大于n/2的最大的整数 D、大于n/2的最小的整数。 不要只说结果,还要写为什么呀,谢谢啦!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
redyellow
2010-05-13
打赏
举报
回复
学习了,经典的实例。
h13826013646
2009-01-07
打赏
举报
回复
[Quote=引用 7 楼 dlyme 的回复:]
C/C++ code
/*
@
/ \
A @
/ \
B @
/ \
@ @
/ \ / \
C D E F
*/
编码如下:
A——0
B——10
C——1100
D——1101
E——1110
F——1111
[/Quote]
up
bbcloudmud
2009-01-07
打赏
举报
回复
前面只使用了0和10的前缀,11的前缀没有使用啊,所以11开头的编码都可以用的
[Quote=引用 6 楼 rubyt 的回复:]
引用 5 楼 dlyme 的回复:
引用 2 楼 rubyt 的回复:
我还是不明白:
哈夫曼编码不是根据哈夫曼树来编吗,不是约定的左分支表示字符'0',右分支表示字符'1'吗,那怎么能有 1101 1100 呢?
如果有1101 1100
那么还可以有 1000 1001 1010 1011呀
那可不只4种了!!
当然不可能有1000这样的编码出现,前面已经有10出现了。
哈夫曼首先是一种前缀编码方式,不会出现你说的情况。
那1101 是怎么出现的?
[/Quote]
大王派我去巡山
2009-01-07
打赏
举报
回复
/*
@
/ \
A @
/ \
B @
/ \
@ @
/ \ / \
C D E F
*/
编码如下:
A——0
B——10
C——1100
D——1101
E——1110
F——1111
rubyt
2009-01-07
打赏
举报
回复
[Quote=引用 5 楼 dlyme 的回复:]
引用 2 楼 rubyt 的回复:
我还是不明白:
哈夫曼编码不是根据哈夫曼树来编吗,不是约定的左分支表示字符'0',右分支表示字符'1'吗,那怎么能有 1101 1100 呢?
如果有1101 1100
那么还可以有 1000 1001 1010 1011呀
那可不只4种了!!
当然不可能有1000这样的编码出现,前面已经有10出现了。
哈夫曼首先是一种前缀编码方式,不会出现你说的情况。
[/Quote]
那1101 是怎么出现的?
大王派我去巡山
2009-01-07
打赏
举报
回复
[Quote=引用 2 楼 rubyt 的回复:]
我还是不明白:
哈夫曼编码不是根据哈夫曼树来编吗,不是约定的左分支表示字符'0',右分支表示字符'1'吗,那怎么能有 1101 1100 呢?
如果有1101 1100
那么还可以有 1000 1001 1010 1011呀
那可不只4种了!!
[/Quote]
当然不可能有1000这样的编码出现,前面已经有10出现了。
哈夫曼首先是一种前缀编码方式,不会出现你说的情况。
hmsuccess
2009-01-07
打赏
举报
回复
1
你首先要知道赫夫曼树是一个最优二叉树,
rubyt
2009-01-07
打赏
举报
回复
上去!!
rubyt
2009-01-07
打赏
举报
回复
我还是不明白:
哈夫曼编码不是根据哈夫曼树来编吗,不是约定的左分支表示字符'0',右分支表示字符'1'吗,那怎么能有 1101 1100 呢?
如果有1101 1100
那么还可以有 1000 1001 1010 1011呀
那可不只4种了!!
大王派我去巡山
2009-01-07
打赏
举报
回复
(1)是4个:1100,1101,1110,1111
你的分法不对;
(2)B
长度最大,就是要使树的高度最深(每个节点(叶节点除外)的左右孩子中都至少有一个是叶子结点,和(1)题中你的错误思路构造方式是一致的)
树的应用——
哈夫曼
编码
一、 实验
题目
: 树的应用——
哈夫曼
编码
二、 实验内容: 利用
哈夫曼
编码
进行通信可以大大提高信道的利用率,缩短信息传输的时间,降低传输成本。根据
哈夫曼
编码
的原理,编写一个程序,在用户输入结点权值的基础上求
哈夫曼
编码
。 从键盘输入若干字符及每个字符出现的频率,将字符出现的频率作为结点的权值,建立哈夫曼树,求出各字符的
哈夫曼
编码
。要求: 1. 输出存放哈夫曼树的数组HT的初态和终态; 2. 输出每个字符的
哈夫曼
编码
; 3. 输入由上述若干字符组成的字符串,对电文进行
编码
并输出; 4. (选作)输入电文的
哈夫曼
编码
,进行译码并输出。
数据结构实验二哈夫曼树及
哈夫曼
编码
译码的实现
构建哈夫曼树及
哈夫曼
编码
,输出哈夫曼树及
哈夫曼
编码
,完成
编码
与译码的算法。 (1)掌握树的有关操作算法 (2)熟悉树的基本存储方法 (3)学习利用树求解实际问题
数据结构基础系列(6):树和二叉树
数据结构课程是计算机类专业的专业基础课程,在IT人才培养中,起着重要的作用。课程按照大学计算机类专业课程大纲的要求,安排教学内容,满足需要系统学习数据结构的人。系列课程包含11个部分,本课为第6部分“树和...
哈夫曼
编码
译码(数据结构课程设计报告+源代码)
数据结构课程设计报告+源代码
哈夫曼
编码
译码
c语言实训项目+
哈夫曼
编码
译码器
[
题目
]
哈夫曼
编码
/译码器 [需求描述] 利用
哈夫曼
编码
进行通信可以提高信道利用率,缩短信息传输时间,降低传输成本。这要求在发送端通过一个
编码
系统对传输数据预先
编码
,在接收端将传来的数据进行译码,对于全双工信道(即可以双向传输信息的信道),毎端都需要一个完成的编/译码系统。试为这样的信息收发站编写一个哈夫曼编译码系统。 [功能描述及要求] 1、初始化: 输入一串字符(正文),计算不同字符(包括空格)的数目以及每种字符出现的频率(以该字符出现的次数作为频率),建立哈夫曼树。 2、
编码
: 利用建好的
哈夫曼
编码
,对输入的明文进行
编码
,并输出密文。 3、译码: 对得到的一串
编码
,即密文,利用
哈夫曼
编码
进行译码,输出正确的明文。 4、可以显示菜单,在菜单中可以进行如下三项操作(但并不局限这些操作): (1)初始化:建立哈夫曼树。 (2)
编码
。 (3)译码。 [测试数据] 1、输入的文本字符应该足够多,对于非法字符具有容错性。
数据结构与算法
33,007
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章