1、选择排序
选择排序(升序)【不稳定排序】。
原理:
- 给定一个列表,经过第一轮比较后,找到最小值,与第一个位置交换;
- 接着对不包括第一个元素的剩下的元素,找到最小值,与第二个位置交换;
- 重复该过程,直到进行比较的记录只有一个为止;
以 list = [5, 4, 2, 1, 3] 为例:
第一次排序后: [1, 4, 2, 5, 3]
第二次排序后: [1, 2, 4, 5, 3]
第三次排序后: [1, 2, 3, 5, 4]
第四次排序后: [1, 2, 3, 4, 5]
时间复杂度:O(n**2)
空间复杂度:O(1)
算法实现:
def select_sort(lists):
'''
:param lists:
:return: lists
'''
count = len(lists)
for i in range(0, count):
min = i
for j in range(i + 1, count):
if lists[min] &
本文详细介绍了Python中的八大排序算法:选择排序、插入排序、冒泡排序、归并排序、快速排序、希尔排序、堆排序和基数排序,涵盖了算法原理、时间复杂度和空间复杂度分析以及算法实现。
订阅专栏 解锁全文
727

被折叠的 条评论
为什么被折叠?



