插入排序
来源:互联网 发布:ubuntu docker 升级 编辑:程序博客网 时间:2024/06/06 08:54
1.算法描述
插入排序的过程好比排序扑克牌。开始时,左手为空。然后,我们开始摸牌放入左手中,每摸起一张牌时,我们需要把它插入到左手已有牌中的合适位置,这里我们从右向左将这张牌与左手上已有的牌一次比较,左手上的牌总是排序好的。最终,我们得到整个排序好的序列。
2.算法实现
package sxd.learn.algorithms;public class InsertionSort {public static void main(String[] args){int[] iArray = {5, 2, 4, 6, 1, 3};INSERTION_SORT(iArray);for (int i = 0; i < iArray.length; i++) {System.out.print(iArray[i] + " ");}System.out.println();}public static void INSERTION_SORT(int[] iArray){for(int j = 1; j < iArray.length; j++){int i = j - 1;int key = iArray[j];while(i >= 0 && key < iArray[i]){iArray[i + 1] = iArray[i]; i--;}iArray[i+1] = key;}}}
3.算法分析
我们分析INSERTION_SORT函数执行所需要花费的时间,双层嵌套循环,最坏情况下的时间复杂度为O(n2)。
0 0
- 插入排序-【插入排序】
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- STL算法------查找5
- 黑马程序员——File类、Properties、打印流、合并流、切割流
- 欢迎使用CSDN-markdown编辑器
- iOS用户点击推送消息进入应用后,如何跳转到对应的ViewController
- eclipse 相关
- 插入排序
- 关于Android上面配置硬件加速的问题
- 判断ip是否属于某个段
- 应用发布load飙高问题处理
- android开发小技巧(1)获取EditText确定button状态
- 常用正则表达式
- Windows 64位安装SQLObject
- Mysql 笔记--URL索引
- Looper.quit方法