之前在这C语言实现八大排序算法(一)和C语言实现八大排序算法(二)2篇文章中,已经详细介绍了各种排序算法的思想,参考资料主要是用C语言实现的。本文主要用python语言再次实现十大排序算法。
十大排序算法的复杂度及稳定性分析如下表所示:
插入排序
代码
1 | ''' |
结果
1 | 第1轮: |
希尔排序
代码
1 | ''' |
结果
1 | 4 |
冒泡排序
代码
1 | ''' |
结果
1 | 第0轮: |
快速排序
代码
1 | ''' |
结果
1 | [1, 2, 3, 4, 5, 6, 7, 8] |
选择排序
代码
1 | ''' |
结果
1 | 第0轮: |
堆排序
代码
1 | ''' |
结果
1 | 第1轮: |
归并排序
代码
1 | ''' |
结果
1 | [1, 2, 3, 4, 5, 6, 7, 8] |
基数排序
代码
1 | ''' |
结果
1 | 第1轮: |
计数排序
代码
1 | ''' |
结果
1 | [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] |
桶排序
代码
1 | ''' |
结果
1 | [[], [], [], [], [], [], [], [], [], []] |