国产探花免费观看_亚洲丰满少妇自慰呻吟_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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 专栏| 土默特右旗| 兴山县| 齐齐哈尔市| 喜德县| 英吉沙县| 如东县| 米易县| 菏泽市| 电白县| 辽宁省| 富平县| 辉县市| 体育| 怀远县| 中卫市| 庐江县| 永宁县| 朔州市| 灵川县| 康马县| 金阳县| 乌什县| 朝阳县| 穆棱市| 辽宁省| 察隅县| 乐业县| 柘荣县| 霍州市| 禄劝| 巴中市| 望城县| 凤庆县| 全南县| 长顺县| 达州市| 梁平县| 保靖县| 达拉特旗| 西丰县|