忧郁云朵

文章
7
资源
0
加入时间
2年10月21天

合并k个有序数组

给定K个有序数组,每个数组有n个元素,想把这些数组合并成一个有序数组可以利用最小堆完成,时间复杂度是O(nklogk),具体过程如下:创建一个大小为n*k的数组保存最后的结果创建一个大小为k的最小堆,堆中元素为k个数组中的每个数组的第一个元素重复下列步骤n*k次:每次从堆中取出最小元素(堆顶元素),并将其存入输出数组中用堆顶元素所在数组的下一元素将堆顶元素替换掉,如果数组中元素被取光了,将...