选择排序

来源:互联网 发布:淘宝耐克双肩包 编辑:程序博客网 时间:2024/06/03 01:42

思想:

选择排序的思想非常直接,从所有序列中先找到最小的,然后放到第一个位置。之后再看剩余元素中最小的,放到第二个位置……以此类推,就可以完成整个的排序工作了。

插入排序和选择排序的区别:

选择排序是固定位置,找元素。

插入排序的固定元素找位置,是两种思维方式。


int[] v = new int[]{5,6,92,10,8,1,3};
for(int i=0; i<v.size(); i++){
int min = v[i];
int temp;
int index = i;
for(int j=i+1;j<v.size();j++){
if(v[j] < min){
min = v[j];
index = j;
}
}

temp = v[i];
v[i] = min;
v[index]= temp;
}

分析

从选择排序的思想或者是上面的代码中,我们都不难看出,寻找最小的元素需要一个循环的过程,而排序又是需要一个循环的过程。因此,这个算法的时间复杂度也是O(n*n)的。

这就意味值在n比较小的情况下:

算法可以保证一定的速度;

当n足够大时:

算法的效率会降低,

并且随着n的增大,算法的时间增长很快。


原创粉丝点击