算法
来源:互联网 发布:故宫软件 编辑:程序博客网 时间:2024/05/17 19:18
选择排序:已知一组无序数据a[1]、a[2]、……a[n],需将其按小到大排列。首先比较a[1]与a[2]的值,若a[1]大于a[2]则交换两者的值,否则不变。再比较a[2]与a[3]的值,若a[2]大于a[3]则交换两者的值,否则不变。再比较a[3]与a[4],以此类推,最后比较a[n-1]与a[n]的值。这样处理一轮后,a[n]的值一定是这组数据中最大的。再对a[1]~a[n-1]以相同方法处理一轮,则a[n-1]的值一定是a[1]~a[n-1]中最大的。再对a[1]~a[n-2]以相同方法处理一轮,以此类推。共处理n-1轮后a[1]、a[2]、……a[n]就以升序排列了。降序排列与升序排列相类似,若a[1]小于a[2]则交换两者的值,否则不变,后面以此类推。 总的来讲,每一轮排序后最大(或最小)的数将移动到数据序列的最后,理论上总共要进行n(n-1)/2次交换。
优点:稳定;
缺点:慢,每次只能移动相邻两个数据。
插入排序:
冒泡排序:
阅读全文
1 0
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- struts2的简单搭建
- java虚拟机学习笔记2_垃圾收集器
- Oracle之组合查询和in有关的优化
- 51nod1673 树有几多愁 【虚树+树形dp+状压dp】
- 激情彭拜的10月英语学习
- 算法
- 好听节奏
- __proto__和prototype
- Amount of Degrees
- BZOJ P4554 [Tjoi2016&Heoi2016]游戏
- Java笔记---CenOS下配置Java开发环境(OpenJDK+Tomcat8)
- SQOOP从HDFS导出数据到MySQL
- js获取url中的参数,并保证获取到的参数不乱码
- java源代码风格转变