1.如果用优先队列来做,建小根堆O(n),每次取出,合并后插入的时间复杂度O(logn),整个程序O(n+nlogn)。 2.而先排序,再开一个数组,用快速排序的时间复杂度为O(nlogn),合并时的复杂度为O(n),总的还是O(nlogn+n)。 除非牺牲空间复杂度用桶排序之类的,否则这两个方法时间上开销差不多。 我现在的理解是这样,有没有大佬看看我有木有错