""" 归并排序 典型的分而治之 递归实现分治的效果 """ def merge_sort(alist): if len(alist) <= 1: return alist # 分治排序 mid = len(alist)//2 left = merge_sort(alist[:mid]) right = merge_sort(alist[mid:]) # 合并 return merge(left, right) def merge(left, right): """合并操作,将两个有序数组left[]和right[]合并成一个大的有序数组""" # left 与 right 的下标指针 l, r = 0, 0 result = [] while l < len(left) and r < len(right): if left[l] < right[r]: result.append(left[l]) l += 1 else: result.append(right[r]) r += 1 result += left[l:] result += right[r:] return result
归并排序(python实现)
免责声明:文章转载自《归并排序(python实现)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。
上篇CountDownLatch实例的await()方法Linux编程 | 使用 make下篇
宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=