熱線電話:13121318867

登錄
首頁精彩閱讀Python實現的歸并排序算法示例
Python實現的歸并排序算法示例
2018-05-04
收藏

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

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

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

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

Python實現代碼如下:

#-*- coding: UTF-8 -*-
importnumpy as np
defMerge(a, f, m, l):
  i=f
  j=m+1
  tmp=[]
  whilei <=mandj <=l:
    ifa[i] <=a[j]:
      tmp.append(a[i])
      i+=1
    else:
      tmp.append(a[j])
      j+=1
  whilei <=m:
    tmp.append(a[i])
    i+=1
  whilej<=l:
    tmp.append(a[j])
    j+=1
  i=f
  forxinxrange(0,len(tmp)):
    a[i]=tmp[x]
    i+=1
defMergeSort(a, f, l):
  iff< 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"---------------------------------------------------------------"
  printa
  print"---------------------------------------------------------------"
  MergeSort(a,0, a.size-1)
  print"After sorting..."
  print"---------------------------------------------------------------"
  printa
  print"---------------------------------------------------------------"

運行結果:

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢