概述
归并的思想是:将多个已经有的序列合并成一个有序的序列。
过程
下面以2路归并排序示例。
第一次排序后
第二次排序后
第三次 排序后
总结
类别 | 最好时间 | 最坏时间 | 平均时间 | 空间复杂度 | 稳定性 | 适用于 |
归并排序 | nlogn | nlogn | nlogn | n | 稳定 | 分而治之 |
n个元素2路归并
那个元素,要归并log2n趟。
每趟需要归并的时间复杂度o(n),每合并两个序列要比较(m+n-1)次。
所以总的时间复杂度为:O(nlog2n)。
扩展
理解了步骤之后,还不能快速算出时间复杂度等,还是背背把,总还是有点用。