* 最优子结构性质 设T是表示C的一个最优前缀码的完全二叉树, C中字符c的频率为f(c)。设x,y是T中两个叶子结点且为兄弟,z为它们的父结点。若将z看作是具有频率f(x)+f(y)的字符,则树T’=T-{x,y}表示字符集C’=C-{x,y}+{z}的一个最优前缀码。 证明: 首先T的平均码长B(T)可用T’的平均码长B(T’)表示。 * 若T’表示的C’的前缀码不是最优的,则存在T’’表示的C’的最优前缀码,B(T’’)B(T’). z作为C’ 中的一个字符,故z作为T’’中的一个叶子,若将x,y加入T’’中,作为z的儿子结点,得到表示C的前缀码的二叉树T’’’, 与T最优矛盾 T’表示的C’的前缀码是最优的 满足最优子结构性质 * 哈夫曼编码的实现 教材上给出的算法huffmanTree中,编码字符集中每一字符c的频率是f(c)。以f为键值的优先队列Q用在贪心选择时有效地确定算法当前要合并的2棵具有最小频率的树。一旦2棵具有最小频率的树合并后,产生一棵新的树,其频率为合并的2棵树的频率之和,并将新树插入优先队列Q。经过n-1次的合并后,优先队列中只剩下一棵树,即所要求的树T。 算法huffmanTree用最小堆实现优先队列Q。初始化优先队列需要O(n)计算时间,由于最小堆的removeMin和put运算均需O(logn)时间,n-1次的合并总共需要O(nlogn)计算时间
您可能关注的文档
最近下载
- 2026年抽样检验试题及答案.docx VIP
- 人事处廉政风险防控排查表.doc-安徽医学高等专科学校.doc VIP
- 2025年互联网广告投放算法效果评估与智能广告投放平台优化报告.docx
- 做传统美德的践行者.pptx
- 公路沥青路面施工技术规范.doc VIP
- 3.4 情绪情感与社会性发展活动的实施(课件)《幼儿早期学习支持》(高教版)同步精品课堂.pptx VIP
- 2026 年化工企业火炬系统设计规范(SH_T 3009-2025,附火炬高度计算).docx VIP
- 日常防火检查巡查制度.docx VIP
- 年产30万吨饲料加工厂可研报告.pdf VIP
- 3.2 语言发展活动的实施(课件)《幼儿早期学习支持》(高教版)同步精品课堂.pptx VIP
原创力文档

文档评论(0)