博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
简单选择排序
阅读量:5788 次
发布时间:2019-06-18

本文共 415 字,大约阅读时间需要 1 分钟。

简单选择排序也叫作直接选择排序

基本思想:

每一趟在后面n-i+1个中选出关键字最小的记录,作为有序序列的第i个记录

(1)设待排序的记录存放在数组r[1…n ]中,第一趟从r[1]开始,通过n-1次比较,从n个记录中选出关键字最小的记录,记为r[k],交换r[1]和r[k].

(2)第二趟从r[2]开始,通过n-2次比较,从n-1个记录中选出关键字最小的记录,记为r[k],交换r[1]和r[k]。

(3)第i趟从r[i]开始,通过n-i次比较,从n-1+1个记录中选出关键字最小的记录,记为r[k],交换r[i]和r[k].

(4)经过n-1趟,排序完成。

这里写图片描述

void SelectSort(SqList &K){//对顺序表L做简单选择排序    for(i=1;i

算法分析

移动次数

  • 最好情况: 0

  • 最坏情况:3(n-1)

比较次数:1/2(n*n-n)

时间复杂度:O(n*n)

空间复杂度:O(1)

算法特点

不稳定
你可能感兴趣的文章
Bootstrap Popover 隐藏的Javasript方法
查看>>
memcache使用方法测试
查看>>
POJ 3347 Kadj Squares
查看>>
JSP技术模型(五)JSP隐含变量
查看>>
console.log的一个应用 -----用new方法生成一个img对象和document.createElement方法创建一个img对象的区别...
查看>>
JQuery上传插件Uploadify API详解
查看>>
如何同步你的云存储。同步你的移动硬盘和笔记本
查看>>
C# 线程更新UI
查看>>
[转]mysql 存储过程中使用多游标
查看>>
Java HashMap源码分析
查看>>
Java同步容器和并发容器
查看>>
Thinkphp+AJAX动态验证用户输入是否合法
查看>>
UE4在VS2013中各个编译配置代表意义
查看>>
多线程(5)async&await
查看>>
centos的网络设置问题
查看>>
Java NIO -- 通道 Channel
查看>>
Lintcode---前序遍历和中序遍历树构造二叉树
查看>>
Ubuntu14.04 安装配置Opencv3.0和Python2.7
查看>>
Storm手写WordCount
查看>>
Java Debugging with Eclipse - Tutorial
查看>>