AI 日报

除了冒泡排序,你知道Python内建的排序算法吗?

  • By admin
  • Oct 22, 2023 - 2 min read



Python内建的排序算法

Python是一种高级编程语言,其标准库中提供了许多内建的排序算法。除了冒泡排序,下面将介绍Python标准库中其他常用的排序算法。

1. 插入排序

插入排序是一种简单直观的排序算法,其基本思想是将待排序的元素插入已排序序列中的合适位置。具体实现时,通过构建有序序列,对于未排序的数据,在已排序序列中从后向前扫描,找到相应位置并插入。

Python的标准库中提供了`sorted()`函数,它使用了一种优化的插入排序算法。下面是一个示例:

numbers = [5, 2, 8, 1, 9]
sorted_numbers = sorted(numbers)
print(sorted_numbers)

运行以上代码,输出结果为:

[1, 2, 5, 8, 9]

2. 快速排序

快速排序是一种高效的排序算法,它的基本思想是通过一趟排序将待排序序列分割成独立的两部分,其中一部分的所有元素都比另一部分的所有元素小。然后对这两部分分别进行快速排序,以达到整个序列有序。

Python的标准库中的`sort()`方法使用了快速排序算法,下面是一个示例:

numbers = [5, 2, 8, 1, 9]
numbers.sort()
print(numbers)

运行以上代码,输出结果为:

[1, 2, 5, 8, 9]

3. 归并排序

归并排序是一种稳定的排序算法,它的基本思想是将待排序序列拆分成若干个子序列,然后将这些子序列两两合并,直到得到一个有序序列。归并排序的优点是可以对链表等数据结构进行排序,并且其时间复杂度为O(nlogn)。

Python的标准库将归并排序算法封装在`sorted()`函数中。下面是一个示例:

numbers = [5, 2, 8, 1, 9]
sorted_numbers = sorted(numbers)
print(sorted_numbers)

运行以上代码,输出结果为:

[1, 2, 5, 8, 9]

除了上述提到的排序算法,Python的标准库中还提供了其他排序算法,如堆排序(`heapq`模块)、计数排序(`collections`模块)等。根据不同的排序需求,选择合适的排序算法可以提高程序的效率。