插入排序
来源:互联网 发布:推荐一本c语言入门的书 编辑:程序博客网 时间:2024/06/14 02:58
插入排序可见于生活:
有如上图所示的扑克牌,我们要将牌从左至右,从小到大排序,以方便我们进行游戏。
步骤:
以此类推,就可以将所有的牌按顺序排序了。
插入排序伪代码:
INSERTION-SORT(Arr):
1 for j = 0 to Arr.length-1
2 i = j-1
3 key = Arr[j]
4 while i>=0 && Arr[i] > key
5 Arr[i+1] = Arr[i]
6 i = i - 1
7 Arr[i+1] = key
兑现JAVA代码:
import java.util.Arrays;public class InsertSort { public static void main(String[] args) { int[] arr = {5,2,4,6,1,3}; arr = insertSort(arr); System.out.println(Arrays.toString(arr)); } public static int[] insertSort(int[] arr){ for(int j=1;j<arr.length;j++){ int i = j-1; int key = arr[j]; while(i>=0&&arr[i]>key){//此循环内将大于key的元素向后移动 arr[i+1] = arr[i]; i = i-1; } arr[i+1] = key; } return arr; }}
分析算法:
给出每条语句执行时间和执行次数。对于j=0,1,2,……,n-1,其中n=Arr.length,假设
最坏运行情况:
所以,插入排序的最坏情况运行时间为
阅读全文
4 0
- 插入排序-【插入排序】
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 统计学习方法笔记1——感知机(perceptron)的Python实现
- 模板:Prim
- SYD8801微信接入开始
- 历届试题 PREV-27 蚂蚁感冒
- CMakeList.txt的详解
- 插入排序
- 历届试题 PREV-32 分糖果
- H264 ES PS TS 流的区别
- Unity_设计模式_对象池_09
- java字符串Emoji表情的处理
- springIOC原理
- 【Unity编程】Unity动画系统(二)
- ionic环境设置
- Java的多线程机制:缓存一致性和CAS