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

首頁 > 編程 > Python > 正文

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

2020-01-04 16:18:16
字體:
來源:轉載
供稿:網友

本文實例講述了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教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 涟水县| 九江县| 根河市| 沅陵县| 仁化县| 濉溪县| 左贡县| 乌苏市| 广汉市| 泰顺县| 石台县| 简阳市| 南靖县| 贡山| 襄城县| 秭归县| 宜宾县| 佳木斯市| 界首市| 临安市| 眉山市| 孟连| 启东市| 承德县| 汉阴县| 铁岭县| 宁陕县| 柳林县| 洛宁县| 大埔区| 四会市| 堆龙德庆县| 建平县| 齐齐哈尔市| 南康市| 清丰县| 施甸县| 安平县| 城步| 黔江区| 广平县|