选择排序
选择排序有点类似插入排序吗,也是分为已排序区间和未排序区间,每次都在未排序区间循环遍历获取最小值,将其放入到已排序区间的末尾
选择排序是原地算法吗?
空间复杂度是O(1),是原地排序算法
选择排序是稳定算法吗?
选择排序算法每次都是拿最小值,与前面的元素交换,这样破坏了稳定性,所以选择排序不是稳定算法
选择排序算法的时间复杂度是?
最好、最坏、平均时间复杂度都是O(n)
def select_sort(array):"""选择排序"""for i in range(len(array) - 1): # 遍历未排序区间min_index = i # 设置未排序区间的最小值为ifor j in range(i + 1, len(array)): #if array[j] < array[min_index]:min_index = j # 如果比最小值还小,则更换最小值下标if min_index != i:array[min_index], array[i] = array[i], array[min_index] # 更换最新最小值return array
