数据结构算法——插入排序
来源:互联网 发布:ubuntu 命令行提示符 编辑:程序博客网 时间:2024/05/16 07:57
插入排序算法类似冒泡排序算法,但是对样本的有序性非常敏感,是较稳定的算法,平均时间复杂度和冒泡排序算法一样,都是0(n^2),但是和冒泡排序相比,复制的次数比冒泡排序算法少,因此比略优与冒泡排序算法。
算法描述:
从第一个元素起,假定钙元素已经有序(从小到大);
a.从第二个数开始,依次取出下一个元素单独保存,让其和左边已经有序的元素比较
b.若左边元素大于取出的元素,则让左边的元素右移一个位置
c.若左边元素小于等于取出的元素,则将取出的元素放在取出的元素后边
d.重复步骤以上步骤,直到所有元素排序完成
例子:
给定一组无序数组:30,25,20,15,10,19,68,35,22,74.
从第二个数起和左边元素比较大小:25小于30,则让左边元素也就是30右移一个位置,由于30之前没有元素,所以不用再比较,数组变成:25,30,20,15,10,19,68,35,22,74
继续取出第三个数:20,因为20小于30,则30右移一个位置,20小于25,则25也右移一个位置,数组变成:20,25,30,15,10,19,68,35,22,74
再依次取出第四个,第五个...,直到所有元素排序完成。
代码如下:
输出结果:
0 0
- 数据结构排序算法—插入排序
- 数据结构&算法实践—【排序|插入排序】插入排序
- 【数据结构与算法】——插入排序
- 数据结构算法——插入排序
- 【数据结构与算法】——插入排序
- 数据结构排序算法——折半插入
- 数据结构 — 插入排序
- 数据结构与算法——插入排序和希尔排序
- 数据结构排序算法——直接插入排序
- 【算法和数据结构】—— 1.选择排序、插入排序
- 数据结构-插入排序算法
- 数据结构算法-插入排序
- 数据结构与算法——插入类排序(直接插入排序,希尔排序)
- 数据结构与算法——直接插入排序
- 数据结构与算法——插入排序(Java实现)
- Java数据结构与算法之数组排序——插入
- Python 数据结构与算法 —— 插入排序
- 算法与数据结构——选择,插入,希尔排序
- 部分文件的MIMEType
- C++对C的扩展(Extension)
- MSMQ与redis队列
- 获取文件的长度
- NYOJ-51 管闲事的小明
- 数据结构算法——插入排序
- 安装Cocoapods, 更新gem出现的问题
- 你的公众号为什么总是留不住粉丝
- 明光桥南 || 明光桥北
- [7] Word 定制属于自己的表格样式
- java基础(2)
- 新浪微博热搜榜“背后的男人”讲述热搜背后的秘密
- JAVA基础中的几个常用知识点
- 你以为你真的了解网红经济么?