久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Python快速排序算法這么實現

175次閱讀
沒有評論

共計 754 個字符,預計需要花費 2 分鐘才能閱讀完成。

快速排序是一種常用的排序算法,它的實現思路是通過遞歸將數組不斷地劃分為兩個子數組,直到每個子數組只有一個元素,然后再將子數組合并起來。快速排序的關鍵在于選擇一個基準元素,然后通過交換元素的位置將小于基準元素的放在左邊,大于基準元素的放在右邊,最后將基準元素放到正確的位置上。

下面是一種用 Python 實現快速排序的方法:

def quick_sort(arr):
    if len(arr) <= 1:
        return arr
    else:
        pivot = arr[0]  # 選擇第一個元素作為基準元素
        less = [x for x in arr[1:] if x <= pivot]  # 小于等于基準元素的子數組
        greater = [x for x in arr[1:] if x > pivot]  # 大于基準元素的子數組
        return quick_sort(less) + [pivot] + quick_sort(greater)

# 示例
arr = [4, 2, 5, 7, 1, 3, 6]
sorted_arr = quick_sort(arr)
print(sorted_arr)

運行以上代碼,將輸出 [1, 2, 3, 4, 5, 6, 7],表示已經對數組進行了快速排序。

在這段代碼中,我們首先判斷數組的長度是否小于等于 1,如果是,則直接返回該數組。然后選擇第一個元素作為基準元素,并使用列表解析式將小于等于基準元素的元素放入 less 數組中,將大于基準元素的元素放入 greater 數組中。最后,遞歸地對 lessgreater數組進行快速排序,并將結果與基準元素合并起來。

需要注意的是,快速排序的實現可能因基準元素的選擇而產生不同的效果。在上述例子中,我們選擇的是第一個元素作為基準元素,但也可以選擇其他元素作為基準元素,如中間元素、隨機元素等。這樣的選擇可能會影響快速排序的時間復雜度和性能。

丸趣 TV 網 – 提供最優質的資源集合!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-12-13發表,共計754字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 枞阳县| 施秉县| 潢川县| 德惠市| 精河县| 旬阳县| 安多县| 彭山县| 凤冈县| 钦州市| 黑龙江省| 德清县| 潞城市| 三穗县| 安新县| 南部县| 玉龙| 大田县| 黎平县| 合水县| 樟树市| 山东省| 常宁市| 天等县| 古浪县| 海淀区| 大名县| 乌拉特后旗| 镇坪县| 澄江县| 钟祥市| 吉首市| 封丘县| 蒙阴县| 扬中市| 太白县| 佛山市| 海淀区| 大悟县| 平谷区| 景德镇市|