算法复习--选择排序
来源:互联网 发布:linux yum安装 lnmp 编辑:程序博客网 时间:2024/05/31 13:14
选择排序:每次都从剩下的没有排序的数组元素中找到最小的元素放在排序部分的最后,例如,第一次找出整个数组中的最小值,与第一个元素交换,第二次,从剩下的n-1个元素中选择出最小的元素,和第二个元素交换。。。。。。。从算法思想就能看出,选择排序是不稳定的,比如重复的元素中有一个在第一个,那么第一次排序,就可能将其替换到其他位置,导致相对顺序变化。
Java代码:
public static void SelectSort(int R[]){int i=0,j=0,t=0,k=0,len=R.length;for(i=0;i<len-1;i++){k=i;for(j=i+1;j<len;j++){if(R[k]>R[j]){k=j;}}if(k!=i){t=R[i];R[i]=R[k];R[k]=t;}}}
时间复杂度:
最好情况下:交换0次,但是每次都要找到最小的元素,因此大约必须遍历N*N次,因此为O(N*N)。减少了交换次数!
最坏情况下,平均情况下:O(N*N)
不稳定。
0 0
- 算法复习--选择排序
- 算法复习之选择排序
- 算法复习之选择排序
- 排序算法复习(2)-- 选择排序
- 排序算法复习——选择类排序
- 复习之选择排序
- 选择排序复习
- 数据结构复习-选择排序
- (2)Java复习冒泡,选择,插入排序算法
- 算法复习--------------基本算法:顺序查找,选择排序,冒泡排序算法等简单算法
- 复习排序-简单选择排序
- 排序算法复习之——内部排序算法之——选择排序
- 复习数据结构之选择排序
- 快速排序算法复习
- 排序算法复习
- 算法复习--插入排序
- 排序算法复习笔记
- 算法复习--快速排序
- ACM 48. [NOIP2007] 字符串的展开(水模拟)
- POJ 3087 Shuffle'm Up(模拟)
- Java中的表达式运算
- hdu 1240 Asteroids!(三维搜索)
- Android 自定义 HorizontalScrollView 替代Gallery
- 算法复习--选择排序
- HDU 3272 - Mission Impossible(计算几何)
- Mac_Mysql设置utf-8字符集
- 快速生成代码-根据字典信息,生成初始化方法源代码字符串
- ZOJ-1857(POJ-2607) Fire Station
- USACO castle
- poj1270Following Orders
- xcode5 EXC_BAD_ACCESS
- 黑马程序员-IO的复制