选择排序
定义与基本思想
选择排序(Selection Sort)是一种简单直观的排序方法。其基本思想是:每一趟从待排序序列中选出最小(或最大)元素,放到已排序序列的末尾,直到全部有序。
选择排序演示
6425122211
算法描述
- 每一趟在未排序部分选出最小元素,与未排序部分第一个元素交换
- 重复 趟,直到全部有序
伪代码如下:
for i = 0 to n-2:
min = i
for j = i+1 to n-1:
if A[j] < A[min]:
min = j
if min != i:
swap(A[i], A[min])
时间复杂度分析
- 最好/最坏/平均情况:
- 空间复杂度:
- 稳定性:不稳定排序
练习题
练习 1
对数组 进行选择排序,写出每一趟排序后的结果。
参考答案
解题思路:每趟选最小元素放到前面。
详细步骤:
- 初始:[64, 25, 12, 22, 11]
- 第 1 趟:[11, 25, 12, 22, 64]
- 第 2 趟:[11, 12, 25, 22, 64]
- 第 3 趟:[11, 12, 22, 25, 64]
- 第 4 趟:[11, 12, 22, 25, 64]
答案:如上,每一趟后最小元素归位。
练习 2
选择排序的时间复杂度和空间复杂度分别是多少?
参考答案
解题思路:考查复杂度和空间。
详细步骤:
- 时间复杂度
- 空间复杂度
答案:时间 ,空间 。