复习了一天哈夫曼树。。。
去年只是学了哈夫曼的构建,但不懂这树的含义,今天想了好久,真的好厉害一棵树啊!
一个普通的字符串,竟然可以转变为带权值的树。我许久不能理解的是为什么字符出现次数可以用权值来表达,现在想这权值似乎就是为次数而建立的。。。有了很深的体会但脑子抽住了,改天再好好谈谈对哈夫曼的看法吧。
本题由于不要求写出编码,所以用优先队列统计,权值小的权值优先加起来,相当于多了权值多的字节,出现次数少的所占字节越多,加的次数也就越多,正好符合哈夫曼的原理。
#include <stdio.h>
#include <algorithm>
#include <iostream>
#include <queue>
#include <string.h>
using namespace std;
const int N = 50;
c