1-- 选择排序之简单选择排序
来源:互联网 发布:mac动态壁纸 编辑:程序博客网 时间:2024/05/16 00:26
(1)简单选择排序和堆排序的基本思想是什么?
(2)选择排序的本质是什么
一、简单选择排序
简单选择排序最佳情况下,记录移动次数为0, 最坏情况下,记录移动次数n-1。外层循环进行了n-1趟选择,第i趟选择要进行n-i次比较,忽略移动记录时间(为一常数)。所以总时间是(n-1)*(n-i)=n^2-(i+1)*n+i。时间复杂度为O(n^2)。
在排序的过程中,
第一趟排序后,A[1]已经有顺序了,需要排序的是A[2...n]。
这是一个待排序序列中记录不断减少的递归过程。我们每次都是从待排序记录中选择最小的那个记录作为待排序的首元素进行交换。可以用递归进行简单选择排序。
//简单选择排序
public void simpleSelectionSort1(int a[], int n){
//进行n次选择,n为数组的长度
for(int i=0;i<n;i++){
int index=i ,j ,temp=a[i];
//每次选择出当前待排序记录中的最小/大记录
//n-1表示下表,n-1-i进行第i次选择的起始位位置
for(j=i;j<n-1;j++){
if(a[j+1]<a[j]){
index=j;
temp=a[j];
}
}
if(a[j]>temp)index=j;
//最小值交换
if(index!=i){
a[i]=a[i]+a[index];
a[index]=a[i]-a[index];
a[i]=a[i]-a[index];
}
}
}
- 1-- 选择排序之简单选择排序
- 选择排序之简单选择
- 选择排序之简单选择
- 简单排序之选择排序
- 排序之简单选择排序
- 排序之简单选择排序
- 选择排序之----简单选择排序
- 选择排序之简单选择排序
- 选择排序之简单选择排序
- 选择排序之简单选择排序
- 选择排序之简单选择排序
- 选择排序之简单选择排序
- 选择排序之--简单选择排序
- 选择排序之简单选择排序
- 选择排序初步之 简单选择排序
- 内部排序之选择排序:简单选择排序,堆排序
- 选择排序1-简单选择排序
- 排序算法之二:选择排序之【简单选择排序】
- 二维码开发,扫描,生成
- mongodb3.0 单机数据迁移 分片复制集
- iOS AutoLayout保证view在StatusBar下
- iOS开发中监听键盘状态、输入法状态
- 带描边的TextView
- 1-- 选择排序之简单选择排序
- java解析逻辑表达式
- Android的代码混淆————ProGuard
- shell循环和条件判断
- Go语言的fmt包中文教程 %s
- 批处理添加环境变量
- JavaWeb学习总结(五十)——文件上传和下载
- 使用struts时,There is no Action mapped for namespace的解决办法
- 精度计算-大数乘大数