CSSE 板


LINE

先说题目:E=24 A=21 H=16 C=14 B=10 D=7 F=4 G=4 先说原则:霍夫曼编码是动态编码,不同的人编,每个字所编出的位元码甚至是 位元码长度都有可能不同,不过只要建树编码的过程方法正确,算出 的平均编码长度一定是相同的。 问题:我学校教的建树编码的方法不同於一般大众所用的。但用一般的方法和我 学校教的方法算出的平均编码长度竟然不同,是有其他原因还是真的是我 的书写错和老师教错? 两种方法分述如下,过程和答案都已确定无误: ======================================================================== 最一般的方法是在建立霍夫曼树中,往上建立父节点时,是选取所有可用自由点中 最小的两个值相加,也就是过程中一开始排序的leaf有可能会变动顺序。上题例: 一开始可做到 15 / \ 24 / 8 / \ / / \ E A H C B D F G 24 21 16 14 10 7 4 4 但在这之後,最小的两个点是15和16(H),所以要把H移到可和15建立父节点的地方 变成 15 / \ 24 / 8 / \ / / \ E A C B D F G H 24 21 14 10 7 4 4 16 再来可直接做到root 100 / \ / 55 / / \ / / 31 / / / \ / / 15 \ / / / \ \ 45 24 / 8 \ / \ / \ / / \ \ E A C B D F G H 24 21 14 10 7 4 4 16 以这种方法,建立出来各字元的位元码长度分别为 E:2 A:2 H:3 C:3 B:3 D:4 F:5 G:5 平均编码长度是2.78个位元 ========================================================================== 另外一种方法是我学校教的,书是McGrawHill出版的Data communications and networks,方法是在建立霍夫曼树中,往上建立父节点时,是选取所有可用自由点中 任两相邻自由点相加最小的值相加,也就是过程中一开始排序的leaf不会再变动顺序 。用这种方式编码此题可一次完成为(P.S这我们老师有给答案也确定是正确的,所以 不懂这个算法的人可以直接看答案。): 100 / \ / 39 / / \ 61 / 15 / \ / / \ / 37 24 / 8 / / \ / \ / / \ E A H C B D F G 24 21 16 14 10 7 4 4 以这种方法,建立出来各字元的位元码长度分别为 E:2 A:3 H:3 C:3 B:3 D:3 F:4 G:4 平均编码长度是2.84个位元 =========================================================================== 为什麽这两种方法所算出的平均编码长度是不同的呢?有人可以指出问题所在吗? 用各自的方法时,过程和答案都是正确的,那麽错的是? 每个人都说是我学的方法错了,难到真的该去电老师了?Orz --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.165.147.159
1F:推 jeunder:第二种方法是牺牲"压缩效率"来增进"编码效率"220.138.131.197 04/21
2F:→ jeunder:也就是说重点摆在->减少编码时期的执行花费时间220.138.131.197 04/21
3F:→ jeunder:所以不是"最佳的编码"(不是最短的平均长度)220.138.131.197 04/21
4F:推 jeunder:第一个方法要 O(n^2), 第二方法要 O(n)220.138.131.197 04/21
5F:→ jeunder:介於中间的方法, 可以考虑使用 min-heap220.138.131.197 04/21
6F:→ jeunder:需要 O(nlogn)220.138.131.197 04/21
7F:→ jeunder:不过第二个方法还要考虑排序所花的时间, 所以其220.138.131.197 04/21
8F:→ jeunder:实也是 O(nlogn)~~~ 我发现不小心推文太长了 XD220.138.131.197 04/21
9F:→ jeunder:所以其实还是使用 min-heap 比较好, 执行时间与220.138.131.197 04/21
10F:→ jeunder:平均编码长度可兼顾220.138.131.197 04/21
11F:推 hb0303:拜读受教了<(_ _)> 61.223.11.206 04/25







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP