算法详情【选择排序】
来源:互联网 发布:vip域名百度收录吗 编辑:程序博客网 时间:2024/06/03 16:28
一、 简单选择排序
1.0为什么要学习简单选择排序
简单选择排序是常用的排序,学习交换排序理解交换排序理念,是对其他排序有力的补充。尤其学过交换排序之后,每趟排序都要进行频繁的交换,如何改进,使用选择排序,每趟只是记住位置,最后才交换,每趟最多交换一次。
1.1简单排序算法的思想
思想:选择最小的记录放在第一个位置,在剩下的记录中选择最小的放在第二个位置,依次类推,直到所有记录有序。
二、 简单选择排序算法
$arr[$j]){ $k = $j;}}if($k != $i){ //交换位置$tmp = $arr[$i];$arr[$i] = $arr[$k];$arr[$k] = $tmp;}}return $arr;}$arr = array(5,4,3,2,1);$res = select_sort($arr);var_dump($res);// 一次排序// 1,4,3,2,5// 1,2,3,4,5?>
三、 时间复杂度分析
分析:
N个数排序,需要N-1趟排序,每一趟最坏的情况比较N-1次,因此最坏的情况就是接近N*N次比较。
结论:
选择排序的时间复杂度O(n2)
稳定性:不稳定排序,因为存在不相邻元素之间的交换
阅读全文
0 0
- 算法详情【选择排序】
- 算法详情【插入排序】
- 排序算法-选择排序
- 排序算法-选择排序
- 排序算法--选择排序
- 排序算法---选择排序
- 排序算法-选择排序
- 排序算法-选择排序
- 排序算法-选择排序
- 排序算法---选择排序
- 排序算法--选择排序
- 排序算法--选择排序
- 排序算法--选择排序
- 排序算法--选择排序
- 算法-排序-选择排序
- 排序算法:选择排序
- 排序算法---选择排序
- 排序算法:选择排序
- 概率dp梯度套题
- Palindrome Number
- DrawerLayout
- Java -Bundle savedInstanceState的作用
- HDU 2256 Problem of Precision
- 算法详情【选择排序】
- SSL P2713 2048
- Java_1
- ZooKeeper_11_数据模型
- 设计模式(14)--Command(命令模式)--行为型
- 简单获取图片和文字
- leetcode 287. Find the Duplicate Number
- (十)装饰器模式详解(与IO不解的情缘)
- 通讯录sqlite数据库保存