排序二 选择排序
来源:互联网 发布:spss如何快速录入数据 编辑:程序博客网 时间:2024/05/21 10:56
选择排序(Selecting Sort)
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 —百度百科
- 时间复杂度:最好 O(n)=O(n²);平均O(n)=O(n²);最差O(n)=O(n²)
- 空间复杂度:O(n)=O(1)
- 稳定性: 不稳定
- 优势: 交换次数为O(n)
算法描述
- 定义低位index=0
- 从低位index遍历数组查找最小元素
- 将最小元素与低位index元素交换
- index加一。若start等于数组长度则排序结束,否则执行2
图片来自维基百科
排序示例
数组S: [9,1,5,3,8,7]
第一趟:[1,9,5,3,8,7] –index=0,min=1
第二趟:[1,3,5,9,8,7] –index=1,min=3
第三趟:[1,3,5,9,8,7] –index=2,min=5
第四趟:[1,3,5,7,8,9] –index=3,min=7
第五趟:[1,3,5,7,8,9] –index=4,min=8
第六趟:[1,3,5,7,8,9] –index=5,min=9
示例代码
public static void SelectSort(int[] S){ int minIndex; for (int i = 0; i < S.Length; i++){ minIndex = i; for (int j = i + 1; j < S.Length; i++){ if (S[minIndex] > S[j]){ minIndex = j; } } S.Swap(i, minIndex); }}
文中若有什么错误,欢迎留言指正。
转载请保留出处:http://blog.csdn.net/x1060549/article/details/78775024
阅读全文
1 0
- 排序二 选择排序
- 排序算法《二》选择排序
- 排序之二-----选择排序
- 排序算法二:选择排序
- 排序算法二:选择排序
- Java排序二:选择排序
- 排序算法(二):选择排序
- 排序算法(二)-选择排序
- 排序(二):选择排序
- 经典排序二:选择排序
- 【排序二】选择排序(选择排序&&堆排序)
- 【排序二】选择排序(选择排序&&堆排序)
- 二、选择排序
- 选择排序(二)
- 二 选择排序
- 选择排序(二)--树形选择排序
- 排序算法之二:选择排序之【简单选择排序】
- 简单排序二--冒泡排序、选择排序、插入排序练习
- 电商项目架构
- 前端小白--css样式知多少I
- Vue 弹出层时 禁止页面滑动
- 不懂的行业词汇
- 数据结构实验之查找六:顺序查找
- 排序二 选择排序
- 第11章--流类库的输入和输出
- 20171211-学习日记
- python找不到ssl模块
- 使用两个栈实现队列
- G
- Google图片加载库Glide的简单封装GlideUtils
- 20171211
- 爆客系统源码