moea_joint_essay
111年
[資訊] 資訊管理、程式設計
第 六 題
快速排序法(Quick Sort)是排序演算中的一種,處理過程是先選擇一個資料為基準點,所有比基準點小的元素放在左邊,比基準點大的元素放在右邊,之後再反覆對基準點左右兩邊的數列執行相同的處理,直到數列只剩一個數值或沒有數值時即完成排序。請撰寫一函式 QuickSort(),將傳入的一維陣列利用快速排序法,由小至大排序陣列元素。(20 分)
📝 此題為申論題
思路引導 VIP
實作 QuickSort 核心邏輯:設定中止條件、選擇 pivot(基準點)、劃分小於與大於 pivot 的子陣列,並透過遞迴呼叫將左右子陣列合併。
🤖
AI 詳解
AI 專屬家教
以下使用 Python 撰寫(就地排序 In-place 分割版本):
def QuickSort(arr, low=0, high=None):
▼ 還有更多解析內容