Python進階-演算法-快速排序
版權宣告:如需轉載,請註明轉載地址。 https://blog.csdn.net/oJohnny123/article/details/81979571
#!/usr/bin/python
# -*- coding: UTF-8 -*-
"""
Created by liaoyangyang1 on 2018/8/23 下午1:41.
"""
#快速排序,遞迴演算法 O(nlogn)
list = [4,6,7,82,27,5,4,675,4,67556,565,4]
#遞迴快速排序
def quicksort(list):
print(`list : {0}`.format(list))
if len(list)<2:
return list #基線條件,為空或者只包含一個元素的陣列是有序的
mid = list[0]#遞迴條件
lessmid = [i for i in list[1:] if i<=mid]#小於基準值的元素組成的子陣列
biggermid = [i for i in list[1:] if i > mid]#大於基準值的元素組成的子陣列
finallylist = quicksort(lessmid)+[mid]+quicksort(biggermid)
print(`finallylist : {0}`.format(finallylist))
return finallylist
quicksort(list)
相關文章
- Python進階-演算法-插入排序Python演算法排序
- Python 演算法 快速排序Python演算法排序
- python排序演算法的實現-快速排序Python排序演算法
- Python之排序演算法:快速排序與氣泡排序Python排序演算法
- 進階指南--超快速排序(歸併+逆序對)排序
- 排序演算法__快速排序排序演算法
- 排序演算法:快速排序排序演算法
- 排序演算法-快速排序排序演算法
- 排序演算法 - 快速排序排序演算法
- 排序演算法——快速排序排序演算法
- 排序演算法之 '快速排序'排序演算法
- #排序演算法#【4】快速排序排序演算法
- 《排序演算法》——快速排序(Java)排序演算法Java
- python實現氣泡排序、插入排序以及快速排序演算法Python排序演算法
- 資料結構與演算法 進階排序資料結構演算法排序
- 【JAVA演算法】排序演算法 -- 快速排序Java演算法排序
- 【演算法】快速排序演算法排序
- Python 快速教程(進階篇03):模組Python
- 排序演算法Python(冒泡、選擇、快速、插入、希爾、歸併排序)排序演算法Python
- python-進階教程-使用物件屬性進行排序Python物件排序
- Python進階-演算法-遞迴Python演算法遞迴
- Python 快速教程(進階篇01): 詞典Python
- 排序演算法-Java實現快速排序演算法排序演算法Java
- 演算法之旅:快速排序演算法排序
- 演算法之快速排序演算法排序
- 排序演算法 - 快速插入排序和希爾排序排序演算法
- ??Java開發者的Python快速進修指南:函式進階JavaPython函式
- 三種快速排序演算法以及快速排序的優化排序演算法優化
- 畫江湖之演算法篇【排序演算法】快速排序演算法排序
- 畫江湖之演算法篇 [排序演算法] 快速排序演算法排序
- java:快速排序演算法與氣泡排序演算法Java排序演算法
- 前端演算法:快速排序演算法前端演算法排序
- 演算法之常見排序演算法-氣泡排序、歸併排序、快速排序演算法排序
- python演算法與資料結構-快速排序(36)Python演算法資料結構排序
- Python 快速教程(進階篇06):迴圈物件Python物件
- Python 快速教程(進階篇07):函式物件Python函式物件
- 排序演算法之快速排序的實現排序演算法
- Sorting 排序演算法: Quick Sort 快速排序排序演算法UI