python归并排序算法设计
时间: 2023-11-05 21:00:55 浏览: 101
归并排序是一种经典的排序算法,它将一个无序的数组分成两个部分,分别进行排序,然后再将两个有序的部分合并成一个有序的数组。下面是一个基于Python的归并排序算法设计的示例代码:
```python
def merge_sort(array):
if len(array) <= 1:
return array
mid = len(array) // 2
left_array = array[:mid]
right_array = array[mid:]
left_array = merge_sort(left_array)
right_array = merge_sort(right_array)
return merge(left_array, right_array)
def merge(left_array, right_array):
result = []
i = j = 0
while i < len(left_array) and j < len(right_array):
if left_array[i] < right_array[j]:
result.append(left_array[i])
i += 1
else:
result.append(right_array[j])
j += 1
result.extend(left_array[i:])
result.extend(right_array[j:])
return result
```
该算法使用了递归的方法进行排序,将数组不断地分成两半,直到分割成单个元素。然后再通过 merge 函数将两个有序的子数组合并成一个有序的数组。
阅读全文