91aaa在线国内观看,亚洲AV午夜福利精品一区二区,久久偷拍人视频,久久播这里有免费视播

<strong id="fvuar"></strong>

  • <sub id="fvuar"><dl id="fvuar"><em id="fvuar"></em></dl></sub>

    1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

      手機(jī)站
      千鋒教育

      千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

      千鋒教育

      掃一掃進(jìn)入千鋒手機(jī)站

      領(lǐng)取全套視頻
      千鋒教育

      關(guān)注千鋒學(xué)習(xí)站小程序
      隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

      當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > python 快速排序

      python 快速排序

      來(lái)源:千鋒教育
      發(fā)布人:xqq
      時(shí)間: 2023-11-08 02:49:36 1699382976

      原理

      快速排序使用分治法(Divideandconquer)策略來(lái)把一個(gè)序列(list)分為兩個(gè)子序列(sub-lists)。

      步驟

      從數(shù)列中挑出一個(gè)元素,稱為”基準(zhǔn)”(pivot),

      重新排序數(shù)列,所有元素比基準(zhǔn)值小的擺放在基準(zhǔn)前面,所有元素比基準(zhǔn)值大的擺在基準(zhǔn)的后面(相同的數(shù)可以到任一邊)。在這個(gè)分區(qū)結(jié)束之后,該基準(zhǔn)就處于數(shù)列的中間位置。這個(gè)稱為分區(qū)(partition)操作。

      遞歸地(recursive)把小于基準(zhǔn)值元素的子數(shù)列和大于基準(zhǔn)值元素的子數(shù)列排序。

      代碼

      普通版

      defquick_sort(list):

      less=[]

      pivotList=[]

      more=[]

      #遞歸出口

      iflen(list)<=1:

      returnlist

      else:

      #將第一個(gè)值做為基準(zhǔn)

      pivot=list[0]

      foriinlist:

      #將比急轉(zhuǎn)小的值放到less數(shù)列

      ifi

      less.append(i)

      #將比基準(zhǔn)打的值放到more數(shù)列

      elifi>pivot:

      more.append(i)

      #將和基準(zhǔn)相同的值保存在基準(zhǔn)數(shù)列

      else:

      pivotList.append(i)

      #對(duì)less數(shù)列和more數(shù)列繼續(xù)進(jìn)行排序

      less=quick_sort(less)

      more=quick_sort(more)

      returnless+pivotList+more

      咳咳,下面這段代碼出自《Pythoncookbook第二版》傳說(shuō)中的三行實(shí)現(xiàn)python快速排序。

      defqsort(arr):

      iflen(arr)<=1:

      returnarr

      else:

      pivot=arr[0]

      less=[xforxinarr[1:]ifx

      greater=[xforxinarr[1:]ifx>=pivot]

      returnqsort(less)+[pivot]+qsort(greater)

      當(dāng)然還有一行語(yǔ)法糖版本:

      qs=lambdaxs:((len(xs)<=1and[xs])or[qs([xforxinxs[1:]ifx=xs[0]])])[0]

      是不是感受到了Python的魅力?

      以上內(nèi)容為大家介紹了python快速排序,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。

      聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
      10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
      請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
      免費(fèi)領(lǐng)取
      今日已有369人領(lǐng)取成功
      劉同學(xué) 138****2860 剛剛成功領(lǐng)取
      王同學(xué) 131****2015 剛剛成功領(lǐng)取
      張同學(xué) 133****4652 剛剛成功領(lǐng)取
      李同學(xué) 135****8607 剛剛成功領(lǐng)取
      楊同學(xué) 132****5667 剛剛成功領(lǐng)取
      岳同學(xué) 134****6652 剛剛成功領(lǐng)取
      梁同學(xué) 157****2950 剛剛成功領(lǐng)取
      劉同學(xué) 189****1015 剛剛成功領(lǐng)取
      張同學(xué) 155****4678 剛剛成功領(lǐng)取
      鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
      董同學(xué) 138****2867 剛剛成功領(lǐng)取
      周同學(xué) 136****3602 剛剛成功領(lǐng)取
      相關(guān)推薦HOT
      快速通道