1.拆分序列(按一定长度拆分为n个子序列)
2.比较(元素之间比较大小并排序)
3.归并(每两个子序列进行合并,直到全部合并完成)
如图所示。
例题:
最好情况下,序列已有序,时间复杂度O(n)。
最坏情况下,序列完全逆序,时间复杂度O(nlogn)。
平均时间复杂度是O(nlogn)。
算法稳定。
较为简单,不多赘述。
1.拆分序列(按一定长度拆分为n个子序列)
2.比较(元素之间比较大小并排序)
3.归并(每两个子序列进行合并,直到全部合并完成)
如图所示。
例题:
最好情况下,序列已有序,时间复杂度O(n)。
最坏情况下,序列完全逆序,时间复杂度O(nlogn)。
平均时间复杂度是O(nlogn)。
算法稳定。
较为简单,不多赘述。