a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

博客專欄

EEPW首頁 > 博客 > 常見排序算法大比拼:原理與性能分析

常見排序算法大比拼:原理與性能分析

發布人:15398633914 時間:2025-01-17 來源:工程師 發布文章

排序算法是計算機科學的基礎,不同算法有不同原理和性能表現。下面對比幾種常見排序算法。

冒泡排序是簡單直觀的排序算法。它重復走訪要排序的數列,一次比較兩個元素,若順序錯誤就交換,直到沒有要交換的元素。時間復雜度為 O (n2) ,代碼實現如下:

def bubble_sort(arr):
    n = len(arr)
    for i in range(n):
        for j in range(0, n - i - 1):
            if arr[j] > arr[j + 1]:
                arr[j], arr[j + 1] = arr[j + 1], arr[j]
    return arr

快速排序是高效的排序算法,采用分治思想。選擇一個基準元素,將數組分為兩部分,小于基準的放左邊,大于基準的放右邊,遞歸對兩部分排序。平均時間復雜度為 O (n log n) ,代碼如下:

def quick_sort(arr):
    if len(arr) <= 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)

歸并排序同樣基于分治思想,將數組分成兩半,分別排序后再合并。時間復雜度穩定在 O (n log n) 。在實際應用中,根據數據規模和特點選擇合適的排序算法,能提高程序運行效率。小規模數據用冒泡排序簡單直接;大規模數據用快速排序或歸并排序更高效。


*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



關鍵詞: 算法

技術專區

關閉