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

首頁 > 編程 > Python > 正文

Python實現桶排序與快速排序算法結合應用示例

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

本文實例講述了Python實現桶排序與快速排序算法結合應用的方法。分享給大家供大家參考,具體如下:

#-*- coding: UTF-8 -*-import numpy as npfrom QuickSort import QuickSortdef BucketSort(a, n):  barrel = {}  for i in xrange(0,n):    barrel.setdefault(i, [])  min = np.min(a)  max = np.max(a)  for x in a:    for i in xrange(0,n-1):      if x >= min +i* (max - min)/n and x < min +(i +1) * (max - min)/n:        barrel[i].append(x)      elif i == n-2 and x >= min +(i +1) * (max - min)/n:        barrel[i+1].append(x)  k = 0  for i in xrange(0,n):    if len(barrel[i]) != 0:      arr = np.array(barrel[i])      QuickSort(arr, 0, len(barrel[i]) -1)      for x in arr:        a[k] = x        k += 1if __name__ == '__main__':  a = np.random.randint(0, 100, size = 10)  print "Before sorting..."  print "---------------------------------------------------------------"  print a  print "---------------------------------------------------------------"  BucketSort(a, 10)  print "After sorting..."  print "---------------------------------------------------------------"  print a  print "---------------------------------------------------------------"

快速排序QuickSort:

#-*- coding: UTF-8 -*-import numpy as npdef Partition(a, i, j):  x = a[i]                      #將數組的第一個元素作為初始基準位置  p = i                        #同時記錄下該元素的位置  while i < j:    while i < j and a[j] >= x:      j -= 1    while i < j and a[i] <= x:      i += 1    if i != j:      a[i], a[j] = a[j], a[i]         #交換a[i]與a[j]  a[p], a[i] = a[i], a[p]           #將a[p]與a[i]進行交換  p = i                       #得到分隔位置  return pdef QuickSort(a, i, j):  if i < j:    p = Partition(a, i, j)    QuickSort(a, i, p-1)    QuickSort (a, p+1, j)if __name__ == '__main__':  a = np.random.randint(0, 100, size = 100)  print "Before sorting..."  print "---------------------------------------------------------------"  print a  print "---------------------------------------------------------------"  QuickSort(a, 0, a.size - 1)  print "After sorting..."  print "---------------------------------------------------------------"  print a  print "---------------------------------------------------------------"

程序運行結果:

Python,桶排序,快速排序,算法

 

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


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大姚县| 鄂州市| 民县| 武城县| 罗源县| 文成县| 楚雄市| 扎囊县| 二连浩特市| 梓潼县| 文安县| 专栏| 玉山县| 永城市| 宁安市| 襄汾县| 雅江县| 丰镇市| 牟定县| 武乡县| 阳东县| 三河市| 乳山市| 岫岩| 东辽县| 栾川县| 浦北县| 若羌县| 大安市| 桑日县| 灌南县| 克什克腾旗| 上蔡县| 昌平区| 普兰县| 珲春市| 富锦市| 大埔县| 都匀市| 嘉义市| 大丰市|