Python实现归并排序算法
归并排序(Merge Sort)是一种时间复杂度为O(nlogn)的高效稳定的排序算法,它的基本思想是将一个大问题分解成小问题分别解决,最后将所有小问题的解合并起来得到原问题的解。下面我们来介绍如何用Python语言实现归并排序。
归并排序的实现需要两个步骤:分治和合并。分治是将原问题按照一定规则划分成若干个规模更小的子问题,而合并是将子问题的解合并起来得到原问题的解。
排序过程如下:
- 将数组递归地分成两半直到每个子数组只剩一个元素。
- 进行归并操作,将两个有序的子数组合并为一个有序的数组。
下面是Python代码实现:
def merge_sort(arr):
if len(arr