k叉赫夫曼树

k叉赫夫曼树:每次合并k个权值最小的节点,用优先队列存,直到只剩下不到k个节点

首先判满,计算多余节点个数,是(N-1)mod(k-1)。然后有两种方法补满,

①:把(多余的+1)个合并成1个

②:缺少的用0来补充

有人说用优先队列太慢,会被卡log方,于是可以考虑用数组存储被合并的点,被合并的点的权值不用排列就是升序,可以省一个log。

有HDU5884,代码一会儿再贴。

原文地址:https://www.cnblogs.com/St-Lovaer/p/11987278.html