分治是优化算法中的重要思想。
归并排序的主要技巧,如何处理两个分别已经排好序的数组?...>(8,8)-->(4,4)-->(2,2)(2,2)(2,2)(2,2)->(1,1)(1,1)(1,1)(1,1)(1,1)(1,1)(1,1)(1,1)(1,1)
(1,1)采用归并,生成排好序的(...2)
(2,2)采用归并,生成拍好序的(4)
(4,4)-->(8)
(8,8)-->16
def __Merge(self,a,l,mid,r):
#排序对象a[l,mid...)
i = i+sz+sz
sz = sz+sz
递归调用
def __MergeSort(self,a,l,r):
#排序对象...a[l,r)
if (l+1) >= r:
return
"""
## 在小数组情况下,用插入排序