摘要:
利用堆来合并,( O(N) + O(log N * N )) * M。 先利用最链表第一个数,N个数建立堆,复杂度 O (N) 重构堆,并排序,复杂度 O(logN * N ) 每个链表M个数,上述两步重复M次。结果为 M * (O(N) + O(logN * N))= O (M * N * log 阅读全文
摘要:
空间复杂度O(N),时间复杂度O(m+n),m、n为两个有序子数组的长度 //将有二个有序数列a[first...mid]和a[mid...last]合并。void mergearray(int a[], int first, int mid, int last, int temp[]){ int 阅读全文