O(N)构造K叉哈夫曼树

构建K叉的哈夫曼树和构建二叉哈夫曼树相似,都须要每次选出节点值最小的K个,组成新节点数组 咱们使用优先队列(或者其余数据结构)的复杂度为nlogn,这里选用两个有序数组维护最小值的方式来优化数据结构 每次从a,b两个数组中选择最小的k个,将他们的和加到b的尾部,这个过程可以保证a,b数组都是从小到大的优化   感受和归并有点相似排序 由于可能(n-1)%(k-1)!=0 因此能够先补充一些权值为0
相关文章
相关标签/搜索