91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

python實現快速排序的方法是什么

小億
89
2023-08-18 09:13:16
欄目: 編程語言

快速排序是一種高效的排序算法,其基本思想是通過一趟排序將待排序的數據分割成獨立的兩部分,其中一部分數據比另一部分數據小,然后再分別對這兩部分數據進行排序,重復這個過程直到整個序列有序。

Python實現快速排序的方法如下:

def quick_sort(arr):
if len(arr) <= 1:  # 如果數組長度小于等于1,直接返回
return arr
pivot = arr[len(arr) // 2]  # 選擇中間元素作為基準值
left = [x for x in arr if x < pivot]  # 將小于基準值的元素放在左邊
middle = [x for x in arr if x == pivot]  # 將等于基準值的元素放在中間
right = [x for x in arr if x > pivot]  # 將大于基準值的元素放在右邊
return quick_sort(left) + middle + quick_sort(right)  # 遞歸調用快速排序對左右兩部分進行排序,并拼接結果

以上代碼中,quick_sort函數接收一個待排序的數組作為參數,如果數組長度小于等于1,直接返回。否則,選擇中間元素作為基準值,并將小于基準值、等于基準值和大于基準值的元素分別放在左邊、中間和右邊三個數組中。然后,遞歸調用quick_sort函數對左右兩個數組進行排序,并將排序結果拼接起來。最終得到的數組就是經過快速排序后的有序數組。

使用示例:

arr = [5, 3, 8, 6, 2, 7, 1, 4]
sorted_arr = quick_sort(arr)
print(sorted_arr)  # 輸出:[1, 2, 3, 4, 5, 6, 7, 8]

快速排序的時間復雜度為O(nlogn),是一種非常高效的排序算法。

0
上杭县| 刚察县| 石泉县| 克什克腾旗| 平邑县| 淅川县| 长春市| 景宁| 仁化县| 兴城市| 广安市| 东宁县| 沙坪坝区| 介休市| 永春县| 剑阁县| 巴彦县| 灵璧县| 噶尔县| 公主岭市| 德庆县| 巴塘县| 曲周县| 石楼县| 河曲县| 新沂市| 武清区| 昌平区| 新竹县| 韶山市| 海阳市| 句容市| 阿瓦提县| 临沂市| 赤城县| 潮安县| 大安市| 福安市| 措勤县| 新巴尔虎左旗| 文化|