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