排序算法(三)选择排序
来源:互联网 发布:snmp简单网络管理协议 编辑:程序博客网 时间:2024/06/05 11:27
选择排序是一种简单直观的排序算法。它的工作原理如下:首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,放到排序序列末尾。以此类推,直到所有的元素均排序完毕。
Java实现选择排序算法:
package com.review.sort;public class SelectSort { public static void selectSort(int[] source) { for (int i = 0; i < source.length; i++) { for (int j = i + 1; j < source.length; j++) { if (source[i] > source[j]) { swap(source, i, j); } } } } private static void swap(int[] source, int x, int y) { int temp = source[x]; source[x] = source[y]; source[y] = temp; } public static void main(String args[]) { int[] a = { 4, 2, 1, 6, 3, 6, 0, -5, 1, 1 }; int i; selectSort(a); for (i = 0; i < a.length; i++) { System.out.print(a[i] + " "); } }}
算法分析:
选择排序的交换操作介于0和n-1次之间;选择排序的比较操作为n(n-1)/2次之间;选择排序的赋值操作介于0和3(n-1)次之间;其最差、平均时间复杂度都为O(n^2)。
空间复杂度为1,是不稳定的排序。
0 0
- 排序算法(三):选择排序
- 排序算法(三)选择排序
- 排序算法(三)选择排序
- 排序算法(三)选择排序
- 排序算法(三):简单选择排序
- 排序算法 -- (三)简单选择排序
- 排序算法(三)---- 选择排序
- 排序算法(三):简单选择排序
- 排序算法(三):选择排序
- (三)算法--排序算法选择排序和冒泡排序
- 常用排序算法总结(三)----选择排序 堆排序
- 算法系列(三)排序算法上篇--冒泡排序插入排序和选择排序
- 八大排序算法(三)简单选择排序
- 经典排序算法(三)选择排序--C++
- 排序算法之——直接选择排序(三)
- 排序算法(三)直接选择排序(Straight Select Sorting)
- 排序算法之三选择排序
- java排序算法之三选择排序
- Ubuntu 12.10安装交叉编译器arm-none-linux-gnueabi-gcc
- Android 图片缓存处理
- [LeedCode OJ]#85 Maximal Rectangle
- 更新至OSX 10.10后MBA外接网卡无法使用的解决
- javascript的对象
- 排序算法(三)选择排序
- PCM转MP3音频文件(借助lame库)
- 深入理解Java内存模型之系列篇
- JDBC DAO
- js算法:分治法-快速排序
- zz: Python subprocess创建子进程(Windows下打开新的CMD窗口)
- End User 访问SharePoint URL获取数据流程
- 中科院自动化所实验室情况介绍(2015年8月)
- CodeForces 547B(单调栈)