码迷,mamicode.com
首页 > 其他好文 > 详细

pta 编程题14 Huffman Codes

时间:2018-04-22 18:10:33      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:bsp   编程   ble   int   http   扫描   哈夫曼编码   https   element   

题目

题目给出一组字母和每个字母的频数,因为哈夫曼编码不唯一,然后给出几组编码,因为哈夫曼编码不唯一,所以让你判断这些编码是否符合是哈夫曼编码的一种。

解题思路:

1、构造哈夫曼树,并求出总代价COST,即各个字母的频数乘以编码长度的和。

2、对于题目给出的每一组编码,判断是否符合哈夫曼编码,即这组编码是否为前缀码,同时代价cost是否等于计算出的哈夫曼树的代价COST。

判断一组编码是否为前缀码的方法:

将这些编码逐个的添加到哈夫曼树中,对于每一个编码字符串,字符串中的每一个字符也逐个扫描,如果是0则向左构造树,1则向右构造树。

需要注意的点:

最小堆数组中的元素类型ElementType为HuffmanTree型。

 

pta 编程题14 Huffman Codes

标签:bsp   编程   ble   int   http   扫描   哈夫曼编码   https   element   

原文地址:https://www.cnblogs.com/lxc1910/p/8908288.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!