本文實例講述了Python排序搜索基本算法之歸并排序。分享給大家供大家參考,具體如下:
歸并排序最令人興奮的特點是:不論輸入是什么樣的,它對N個元素的序列排序所用時間與NlogN成正比。代碼如下:
# coding:utf-8def mergesort(seq):  if len(seq)<=1:    return seq  mid=int(len(seq)/2)  left=mergesort(seq[:mid])  right=mergesort(seq[mid:])  return merge(left,right)def merge(left,right):  result=[]  i,j=0,0  while i<len(left) and j<len(right):    if left[i]<=right[j]:      result.append(left[i])      i+=1    else:      result.append(right[j])      j+=1  result+=left[i:]  result+=right[j:]  return resultif __name__=='__main__':  print("武林站長站測試結果:")  seq=[4,5,7,9,7,5,1,0,7,-2,3,-99,6]  print(mergesort(seq))運行結果:

PS:這里再為大家推薦一款關于排序的演示工具供大家參考:
在線動畫演示插入/選擇/冒泡/歸并/希爾/快速排序算法過程工具:
http://tools.jb51.net/aideddesign/paixu_ys
更多關于Python相關內容感興趣的讀者可查看本站專題:《Python數據結構與算法教程》、《Python加密解密算法與技巧總結》、《Python編碼操作技巧總結》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程》
希望本文所述對大家Python程序設計有所幫助。
新聞熱點
疑難解答