文章目录常见的排序算法冒泡排序选择排序插入排序希尔排序归并排序快速排序计数排序基数排序
常见的排序算法
冒泡排序
每次比较相邻两个数的大小,如果不是预期排序就交换顺序。
import random
def bubble_sort(blist):
list_len = len(blist)
for i in range(list_len):
for j in range(list_len - 1):
if blist[j] > blis
这篇文章并不是介绍排序算法原理的,纯粹是想比较一下各种排序算法在真实场景下的运行速度。
算法由 Python 实现,可能会和其他语言有些区别,仅当参考就好。
测试的数据是自动生成的,以数组形式保存到文件中,保证数据源的一致性。
排序算法
直接插入排序
时间复杂度:O(n²)
空间复杂度:O(1)
稳定性:稳定
def insert_sort(array):
for i in range(len(array)):
for j in range(i):
if array[