新闻  |   论坛  |   博客  |   在线研讨会
常见排序算法大比拼:原理与性能分析
15398633914 | 2025-01-17 11:36:36    阅读:24   发布文章

排序算法是计算机科学的基础,不同算法有不同原理和性能表现。下面对比几种常见排序算法。

冒泡排序是简单直观的排序算法。它重复走访要排序的数列,一次比较两个元素,若顺序错误就交换,直到没有要交换的元素。时间复杂度为 O (n²) ,代码实现如下:

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) 。在实际应用中,根据数据规模和特点选择合适的排序算法,能提高程序运行效率。小规模数据用冒泡排序简单直接;大规模数据用快速排序或归并排序更高效。


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客