摘要: 首先统计每个字母在字符串里出现的频率,我们把每个字母看成一个结点,结点的权值即是字母出现的频率,我们把每个结点看成一棵只有根结点的二叉树,一开始把所有二叉树都放在一个集合里。接下来开始如下编码:步骤一:从集合里取出两个根结点权值最小的树 a 和 b,构造出一棵新的二叉... 阅读全文
posted @ 2016-09-17 23:52 Nickqiao 阅读(753) 评论(0) 推荐(0) 编辑
摘要: 从小到大排序,建立大根堆,每次将最后一个元素与堆顶交换,此时最大元素到堆尾,堆元素-1,自上而下维护大根堆,得到的数组即从小到大#includeusing namespace std;class Heap {private: int *data, size;pu... 阅读全文
posted @ 2016-09-17 21:53 Nickqiao 阅读(157) 评论(0) 推荐(0) 编辑