数据结构与算法-选择排序
存在序列A[1...n],首次选择最小元素A[i],把A[i]与A[1]交换;再次选出次小元素A[j],把A[j]与A[2]交换;.....依次下去,得到序列A满足:
A[1...n]对任意A[i]、A[j],满足A[i] >= A[j] 有且只有i >= j 成立;
选择排序的伪代码:
for(i = 1; i <= n; i++) {
// 开始选择最小值的位置
min = i;
for(j = i+1; j <= n; j++){
// 选择最小值的范围 开始选择最小值的位置 到 n
if(A[min ] > A[j]){
min = j;
}
}
// 交换最小值所在位置与开始选择最小值的位置的值
key = A[i];
A[i] = A[min];
A[min] = key;
}
选择排序算法时间时间复杂度
影响因素:项数
较为稳定时间复杂度都是 Θ(n2)(n为项数)
浙公网安备 33010602011771号