算法--03.选择排序
2016-08-27 00:52
232 查看
选择排序(Selection sort)和插入排序类似,插入排序将无序放在有序中去排列,而选择排序则是在无序中选择有序,去扩大有序。
顾名思义,就是在无序区中,每次选择最大(最小)放在排列好的最大(最小)中。
同样可以用嵌套for()来解决。
for(i)遍历所有元素,从中选择出最大(最小)的元素;
循环i次后,i个元素排好序,所以每次for(j)从i+1次位置出发。
参考学习
白话经典算法系列之四 直接选择排序及交换二个数据的正确实现
http://blog.csdn.net/morewindows/article/details/6671824
性能分析
平均时间复杂度:O(n^2)
空间复杂度:O(1)
稳定性:不稳定
顾名思义,就是在无序区中,每次选择最大(最小)放在排列好的最大(最小)中。
同样可以用嵌套for()来解决。
for(i=0; i<n; i++) for(j=i+1; j<n; j++)
for(i)遍历所有元素,从中选择出最大(最小)的元素;
循环i次后,i个元素排好序,所以每次for(j)从i+1次位置出发。
参考学习
白话经典算法系列之四 直接选择排序及交换二个数据的正确实现
http://blog.csdn.net/morewindows/article/details/6671824
性能分析
平均时间复杂度:O(n^2)
空间复杂度:O(1)
稳定性:不稳定
相关文章推荐
- 无聊时总结总结算法之03简单选择排序
- 怎样编写一个程序,把一个有序整数数组放到二叉树中? 编写实现链表排序的一种算法。说明为什么你会选择用这样的方法?
- C#算法-----(一)选择排序
- 常用算法-直接选择排序
- 【算法导论】 2.2选择排序
- 选择排序的算法
- C#算法 选择排序
- 几种常用的排序算法:插入排序、冒泡排序、选择排序的算法及C++实现
- 选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,而冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。
- 用JAVA实现排序算法之三:直接选择排序
- 白话经典算法系列之四 直接选择排序及交换二个数据的正确实现
- c# 排序 算法 函数 冒泡 选择 插入 希尔
- 算法-选择排序
- 算法 - 选择排序(C#)
- 算法不会,尚能饭否之排序——直接选择排序
- C#算法-----(一)选择排序
- 【C#算法】冒泡排序 选择排序 插入排序 希尔排序--转
- 简单选择排序的算法实现
- 算法熟记-排序系列-选择排序
- 常用的选择排序.Shell排序.快速排序.冒泡排序.插入排序的算法