哈夫曼树
文章平均质量分 57
。十二。
这个作者很懒,什么都没留下…
展开
-
【SSL 1409】哈夫曼树(三)【树】
解题思路 将输入的每个字母出现的次数当做关键字,构建一个哈夫曼树,然后中序遍历输出字母和哈弗曼编码就好了。 代码 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<map> #define ll long long using namespace std; string s; map..原创 2022-01-19 17:11:18 · 323 阅读 · 0 评论 -
【SSL 1408】哈夫曼树(二)【树】
解题思路 参考哈夫曼树,这道题要加上一个储存字母的域。 带权路径长短: 所以我们在中序遍历时,对于每一个叶子,去记录它的深度就好了 PS:注意这道题要按子母序输出。(先保存下来,最后按顺序输出) 代码 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<map> #define ll ..原创 2022-01-19 17:09:00 · 1681 阅读 · 0 评论 -
【SSL 1407】哈夫曼树(一)【树】
哈弗曼编码 HuffmanHuffmanHuffman编码是一种无损压缩编码方案。 思想:根据源字符出现的(估算)概率对字符编码,概率高的字符使用较短的编码,概率低的字符使用较长的编码,从而使得编码后的字符串长度期望最小。 HuffmanHuffmanHuffman是一种贪心算法:每次总选择两个最小概率字符结点合并。称字符出现的次数为频数,则概率等于频数处于字符串总长;因此,频率可以用频数替代。 PS:一个文本,统计出A,B,C,D,EA,B,C,D,EA,B,C,D,E,出现次数为15,7,6,6..原创 2022-01-19 17:02:16 · 510 阅读 · 0 评论