排序算法-选择排序
来源:互联网 发布:网络中立规则 编辑:程序博客网 时间:2024/05/20 15:40
简单选择排序(Simple Selection Sort)就是通过n-i次关键字的比较,从n-i+1个记录中选出关键字最小的记录,并和第i(1<=i<=n)个记录交换之
时间复杂度:
1) 最好情况:本身有序,需要比较n-1次 时间复杂度为o(n)
2)最坏情况:逆序情况,需要比较(n-1)+(n-2)+...+2+1=n(n-1)/2 时间复杂度为o(n²)
性能上略优于冒泡排序 减少了交换次数
时间复杂度:
1) 最好情况:本身有序,需要比较n-1次 时间复杂度为o(n)
2)最坏情况:逆序情况,需要比较(n-1)+(n-2)+...+2+1=n(n-1)/2 时间复杂度为o(n²)
性能上略优于冒泡排序 减少了交换次数
static void selectionSort(int[] array) { if (array != null && array.length > 0) { int i, j,min; for (i = 0; i < array.length; i++) { min=i; for (j = i + 1; j < array.length; j++) { if (array[min] > array[j]) { min=j;//找出最小记录 } } if(i!=min){//如果最小记录位置有变化,执行交换 swap(array, i, min); } } } } /** * 将数组的2个位置交换 */ static void swap(int[] array, int i, int j) { if (array != null && array.length > 0) { if (i >= 0 && j >= 0 && i <= array.length && j <= array.length) { int temp = array[i]; array[i] = array[j]; array[j] = temp; } } }
2 0
- 排序算法-选择排序
- 排序算法-选择排序
- 排序算法--选择排序
- 排序算法---选择排序
- 排序算法-选择排序
- 排序算法-选择排序
- 排序算法-选择排序
- 排序算法---选择排序
- 排序算法--选择排序
- 排序算法--选择排序
- 排序算法--选择排序
- 排序算法--选择排序
- 算法-排序-选择排序
- 排序算法:选择排序
- 排序算法---选择排序
- 排序算法:选择排序
- 排序算法--选择排序
- 算法排序 -- 选择排序
- 根据经纬度计算两点间的距离
- Android省市区三级联动的实现
- APP逆向分析之钉钉抢红包插件的实现-iOS篇
- HTML语言标签之超链接
- thinkphp模板標記<if>使用總結
- 排序算法-选择排序
- Android基础-----进度条(ProgressBar手动实现)
- hdu 2027 切忌在输入测试案例个数后 要有一个getchar() 吸收一个回车
- 坑【1】Switch
- 双向非循环链表(没有头结点)
- 解决android studio中出现的finished with non-zero exit value 1或者finished with non-zero exit value 2的问题
- c运行库、c标准库、windows API的区别和联系
- Leetcode 141 Linked List Cycle
- nginx location