快速排序算法理解-python
生活随笔
收集整理的這篇文章主要介紹了
快速排序算法理解-python
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
https://blog.csdn.net/hanhanwanghaha寶藏女孩 歡迎您的關(guān)注!
歡迎關(guān)注微信公眾號(hào):寶藏女孩的成長日記
如有轉(zhuǎn)載,請(qǐng)注明出處(如不注明,盜者必究)
目錄
- 快速排序定義
- 舉例
- 代碼
快速排序定義
定義一個(gè)基準(zhǔn)值(通常是第一個(gè)),將大于基準(zhǔn)值的放在右邊,小于基準(zhǔn)值的放在右邊。
舉例
以2 1 9 6 7進(jìn)行排序:
假設(shè)以2作為基準(zhǔn)數(shù),大的放右側(cè),小的放左側(cè)
2 1 9 6 7
1 2 9 6 7 第一次比較
再以2后面的第一個(gè)數(shù)9作為基準(zhǔn)數(shù),因?yàn)?左側(cè)的已經(jīng)排好了
1 2 9 6 7
1 2 6 9 7第一次排序
1 2 6 7 9第二次排序
代碼
def fast_sort(data):if len(data) >= 2:mid = data[0] # 選取第一個(gè)數(shù)基準(zhǔn)值left, right = [], [] # 定義基準(zhǔn)值左右兩側(cè)的列表data.remove(mid) # 從原始數(shù)組中移除基準(zhǔn)值for num in data:if num >= mid: #大于基準(zhǔn)值的放右邊right.append(num)else:left.append(num) #小于基準(zhǔn)值的放左邊return fast_sort(left) + [mid] + fast_sort(right)else:return dataarray = [2, 1, 9, 6, 7] print(fast_sort(array))運(yùn)行結(jié)果:
參考:https://zhuanlan.zhihu.com/p/81434337
https://blog.csdn.net/hanhanwanghaha寶藏女孩 歡迎您的關(guān)注!
歡迎關(guān)注微信公眾號(hào):寶藏女孩的成長日記
如有轉(zhuǎn)載,請(qǐng)注明出處(如不注明,盜者必究)
總結(jié)
以上是生活随笔為你收集整理的快速排序算法理解-python的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sys.dm_exec_query_st
- 下一篇: bloc