最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實(shí)現(xiàn)桶排序與快速排序算法結(jié)合應(yīng)用示例

 更新時(shí)間:2017年11月22日 08:59:39   作者:Alex Yu  
這篇文章主要介紹了Python實(shí)現(xiàn)桶排序與快速排序算法結(jié)合應(yīng)用,結(jié)合實(shí)例形式分析了Python快速排序及桶排序結(jié)合應(yīng)用的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下

本文實(shí)例講述了Python實(shí)現(xiàn)桶排序與快速排序算法結(jié)合應(yīng)用的方法。分享給大家供大家參考,具體如下:

#-*- coding: UTF-8 -*-
import numpy as np
from QuickSort import QuickSort
def 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 += 1
if __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 np
def Partition(a, i, j):
  x = a[i]                      #將數(shù)組的第一個(gè)元素作為初始基準(zhǔn)位置
  p = i                        #同時(shí)記錄下該元素的位置
  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]進(jìn)行交換
  p = i                       #得到分隔位置
  return p
def 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 "---------------------------------------------------------------"

程序運(yùn)行結(jié)果:

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python加密解密算法與技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門(mén)與進(jìn)階經(jīng)典教程

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Python使用ChainMap實(shí)現(xiàn)組合數(shù)據(jù)魔法實(shí)例探究

    Python使用ChainMap實(shí)現(xiàn)組合數(shù)據(jù)魔法實(shí)例探究

    這篇文章主要為大家介紹了Python使用ChainMap實(shí)現(xiàn)組合數(shù)據(jù)魔法實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • pycharm中安裝git遇到的問(wèn)題及解決

    pycharm中安裝git遇到的問(wèn)題及解決

    在PyCharm中安裝Git時(shí)遇到問(wèn)題,按照視頻步驟操作后發(fā)現(xiàn)沒(méi)有g(shù)it選項(xiàng),重新檢查設(shè)置,發(fā)現(xiàn)git目錄配置錯(cuò)誤,重新選擇正確的目錄后,通過(guò)Test確認(rèn)無(wú)誤,在使用commit提交時(shí)遇到錯(cuò)誤,按刷新按鈕即可解決
    2024-11-11
  • 基于wxpython開(kāi)發(fā)的簡(jiǎn)單gui計(jì)算器實(shí)例

    基于wxpython開(kāi)發(fā)的簡(jiǎn)單gui計(jì)算器實(shí)例

    這篇文章主要介紹了基于wxpython開(kāi)發(fā)的簡(jiǎn)單gui計(jì)算器,實(shí)例分析了基于wxpython實(shí)現(xiàn)簡(jiǎn)單桌面應(yīng)用程序的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • python正則表達(dá)式re之compile函數(shù)解析

    python正則表達(dá)式re之compile函數(shù)解析

    這篇文章主要介紹了python正則表達(dá)式re之compile函數(shù)解析,介紹了其定義,匹配模式等相關(guān)內(nèi)容,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-10-10
  • 基于Python實(shí)現(xiàn)模擬三體運(yùn)動(dòng)的示例代碼

    基于Python實(shí)現(xiàn)模擬三體運(yùn)動(dòng)的示例代碼

    此前所做的一切三體和太陽(yáng)系的動(dòng)畫(huà),都是基于牛頓力學(xué)的,而且直接對(duì)微分進(jìn)行差分化,從而精度非常感人,用不了幾年就得撞一起去。所以本文來(lái)用Python重新模擬一下三體運(yùn)動(dòng),感興趣的可以了解一下
    2023-03-03
  • Python借助with語(yǔ)句實(shí)現(xiàn)代碼段只執(zhí)行有限次

    Python借助with語(yǔ)句實(shí)現(xiàn)代碼段只執(zhí)行有限次

    這篇文章主要介紹了Python借助with語(yǔ)句實(shí)現(xiàn)代碼段只執(zhí)行有限次,首先要定義一個(gè)能夠在with語(yǔ)句中使用的類實(shí)現(xiàn)enter和exit,下文詳細(xì)介紹需要的小伙伴可以參考一下
    2022-03-03
  • Python json 模塊核心用法之字典 / 列表與 JSON 字符串互轉(zhuǎn)的操作

    Python json 模塊核心用法之字典 / 列表與 JSON&nb

    在Python開(kāi)發(fā)中,我們經(jīng)常會(huì)遇到Python內(nèi)置數(shù)據(jù)類型(字典、列表)和JSON字符串的相互轉(zhuǎn)換需求,本文會(huì)通過(guò)實(shí)際代碼案例,詳細(xì)講解json模塊的兩個(gè)核心方法,感興趣的朋友跟隨小編一起看看吧
    2026-02-02
  • Python中切片賦值的高級(jí)技巧和避坑指南

    Python中切片賦值的高級(jí)技巧和避坑指南

    在 Python 的眾多特性中,列表List的切片賦值無(wú)疑是最具Python 風(fēng)格的操作之一,本文將深入剖析 Python 切片賦值的底層邏輯,揭示其背后的陷阱,并分享幾個(gè)能讓你的代碼更健壯、更高效的高級(jí)技巧,希望對(duì)大家有所幫助
    2026-02-02
  • django實(shí)現(xiàn)類似觸發(fā)器的功能

    django實(shí)現(xiàn)類似觸發(fā)器的功能

    今天小編就為大家分享一篇django實(shí)現(xiàn)類似觸發(fā)器的功能,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • flask框架藍(lán)圖和子域名配置詳解

    flask框架藍(lán)圖和子域名配置詳解

    這篇文章主要介紹了flask框架藍(lán)圖和子域名配置,結(jié)合實(shí)例形式詳細(xì)分析了flask框架藍(lán)圖和子域名配置相關(guān)原理、操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2020-01-01

最新評(píng)論

乐业县| 综艺| 阿瓦提县| 武汉市| 漳浦县| 延吉市| 镇原县| 辽阳市| 玛曲县| 康定县| 沁源县| 辽宁省| 望谟县| 玛沁县| 子洲县| 九龙城区| 高雄县| 阿坝| 汕尾市| 梁河县| 宜章县| 胶州市| 珲春市| 白河县| 砚山县| 黄梅县| 松江区| 彭水| 新化县| 榆树市| 城市| 新郑市| 东乡族自治县| 镇原县| 灵石县| 聂拉木县| 西平县| 新闻| 甘泉县| 新宾| 岢岚县|