歸併操做(merge),也叫歸併算法,指的是將兩個已經排序的序列合併成一個序列的操做。歸併排序算法依賴歸併操做。 python
歸併操做的過程以下: 算法
def merge(l1,l2): final=[] l1 = sorted(l1) l2 = sorted(l2) while l1 and l2: if l1[0]<=l2[0]: final.append(l1.pop(0)) else: final.append(l2.pop(0)) return final+l1+l2
歸併排序具體工做原理以下(假設序列共有n個元素): app
def mergesort(List): mid=int(len(List)/2) if len(List)<=1: return List return merge(mergesort(List[:mid]),mergesort(List[mid:]))