国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python實現的歸并排序算法示例

2020-02-16 10:48:14
字體:
來源:轉載
供稿:網友

本文實例講述了Python實現的歸并排序算法。分享給大家供大家參考,具體如下:

歸并排序是建立在歸并操作上的一種有效的排序算法,該算法是采用分治法(Divide and Conquer)的一個非常典型的應用。

將已有序的子序列合并,得到完全有序的序列;即先使每個子序列有序,再使子序列段間有序。若將兩個有序表合并成一個有序表,稱為二路歸并。

Python實現代碼如下:

#-*- coding: UTF-8 -*-import numpy as npdef Merge(a, f, m, l):  i = f  j = m + 1  tmp = []  while i <= m and j <= l:    if a[i] <= a[j]:      tmp.append(a[i])      i += 1    else:      tmp.append(a[j])      j += 1  while i <= m:    tmp.append(a[i])    i += 1  while j<= l:    tmp.append(a[j])    j+= 1  i = f  for x in xrange(0, len(tmp)):    a[i] = tmp[x]    i += 1def MergeSort(a, f, l):  if f< l:    m = (l + f) / 2    MergeSort(a, f, m)    MergeSort(a, m+1, l)    Merge(a, f, m, l)if __name__ == '__main__':  a = np.random.randint(0, 10, size = 10)  print "Before sorting..."  print "---------------------------------------------------------------"  print a  print "---------------------------------------------------------------"  MergeSort(a, 0, a.size-1)  print "After sorting..."  print "---------------------------------------------------------------"  print a  print "---------------------------------------------------------------"

運行結果:

更多關于Python相關內容感興趣的讀者可查看本站專題:《Python數據結構與算法教程》、《Python加密解密算法與技巧總結》、《Python編碼操作技巧總結》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程》

希望本文所述對大家Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 达日县| 静乐县| 盘锦市| 来凤县| 麦盖提县| 蒲江县| 文成县| 尉氏县| 英德市| 永城市| 奉新县| 乡宁县| 东兴市| 鄯善县| 西林县| 石棉县| 浮山县| 长乐市| 商南县| 德令哈市| 大关县| 岚皋县| 两当县| 聂拉木县| 敦煌市| 册亨县| 濮阳县| 富宁县| 杂多县| 涿鹿县| 蒲江县| 台北县| 合阳县| 河北省| 鄂尔多斯市| 临武县| 郎溪县| 屯留县| 乐昌市| 朝阳市| 庐江县|