[toc]
归并排序
归并排序是采用分治法的一个非常典型的应用. 归并排序的思想就是先递归分解数组, 再合并数组.
将数组分解最小之后, 然后并两个有序数组, 基本思路是比较两个数组的最前面的数, 谁小就先取谁, 取了后相应的指针就往后移一位. 然后再比较, 直至一个数组为空, 最后把另一个数组的剩余部分复制过来即可.
归并排序的分析
代码实现:
测试代码:
执行结果:
时间复杂度:
最优时间复杂度: O(nlogn)
最坏时间复杂度: O(nlogn)
稳定性: 稳定
[toc]
归并排序是采用分治法的一个非常典型的应用. 归并排序的思想就是先递归分解数组, 再合并数组.
将数组分解最小之后, 然后并两个有序数组, 基本思路是比较两个数组的最前面的数, 谁小就先取谁, 取了后相应的指针就往后移一位. 然后再比较, 直至一个数组为空, 最后把另一个数组的剩余部分复制过来即可.
最优时间复杂度: O(nlogn)
最坏时间复杂度: O(nlogn)
稳定性: 稳定
相关文章: