
题目
1 |
合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 |
题解
这其实就是归并排序从二路变为多路,原来二路的适合,可以直接比较两路得出较小的数字,而现在换成了多路,因此就可以考虑使用小顶堆这个数据结构,每次将k路的开头元素放入堆中;每取出一个最小值后,将该最小值所对应的路的开头元素放入小顶堆中,开始新一轮的选取排序
AC代码
1 |
class (object): |

1 |
合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 |
这其实就是归并排序从二路变为多路,原来二路的适合,可以直接比较两路得出较小的数字,而现在换成了多路,因此就可以考虑使用小顶堆这个数据结构,每次将k路的开头元素放入堆中;每取出一个最小值后,将该最小值所对应的路的开头元素放入小顶堆中,开始新一轮的选取排序
1 |
class (object): |
近期评论