# mergeSort 归并排序
生活随笔
收集整理的這篇文章主要介紹了
# mergeSort 归并排序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
mergeSort 歸并排序
1. 基本描述
? 將兩個 有序 的數列 合并成一個有序數列。歸并排序的核心就是這么一句話。
? 這里有兩個重點
? 問題就在這里,一個無序的數組怎么前提是有序。
? 一個數的數列就是有序。
這就涉及到歸并排序算法細節了。
時間復雜度
$$
O(nlog_2n)
$$
? 空間復雜度
$$
T(n)
$$
?
2.算法流程
從上往下分解
從下往上歸并
所以歸并排序,在其名字中其實忽略了分解。那么同樣采用遞歸實現。
3. 算法實現
從上往下分解
private static void merge(int[] array, int l, int r){if(l==r) {return ;}int mid=(l+r)/2;merge(array,l,mid);merge(array,mid+1,r);mergeSort(array,l,mid+1,r);}? 歸并算法
轉載于:https://www.cnblogs.com/EsMussSeinHui/p/11303966.html
總結
以上是生活随笔為你收集整理的# mergeSort 归并排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js中json的创建和解析
- 下一篇: 致27岁的老光棍天空