【题目描述】

Mergeksorted linked lists and return it as one sorted list.

Analyze and describe its complexity.

合并k个排序链表,并且返回合并后的排序链表。尝试分析和描述其复杂度。

【题目链接】

www.lintcode.com/en/problem/merge-k-sorted-lists/

【题目解析】

每次求最小值的k个元素其实在两次求解之间只会变化1个数,这就表明我们可以用“最小堆”这种数据结构,来优化这个求解的过程,即一开始就将所有链表的第一个元素放入最小堆中,每次从最小堆中取出最小值,将其添加到答案的最后,并将其所属链表的下一个元素加入到最小堆当中。

【参考答案】

www.jiuzhang.com/solutions/merge-k-sorted-lists/