数据结构与算法-选择排序

存在序列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为项数)

posted @ 2019-11-28 14:11  章峰  阅读(187)  评论(0)    收藏  举报