103,排序-插入排序
Posted 数据结构和算法
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了103,排序-插入排序相关的知识,希望对你有一定的参考价值。
插入排序的原理是默认前面的元素都是已经排序好的,然后从后面逐个读取插入到前面排序好的合适的位置,就相当于打扑克的时候每获取一张牌的时候就插入到合适的位置一样。插入排序可以分为两种,一种是直接插入还一种是二分法插入,直接插入的原理比较简单,就是往前逐个查找直到找到合适的位置然后插入,二分法插入是先折半查找,找到合适的位置然后再插入。说到二分法查找,等排序完之后就会介绍查找,有多种包括斐波那契查找,哈希查找,二分法查找等多个,其实这里面也可以使用,我们先看一下简单的直接插入排序代码
可能还不是很严谨,如果array为空的怎么办,那么在修改一下
代码原理其实都差不多,只是下面的稍微有点修改,在改变一下,换成while循环的方式
无论怎么变其实原理还是一样的,只是代码的书写方式可能有点区别,我们来看另外一种插入排序方法,二分法插入排序
如果数据很大的情况下,二分法插入排序明显比直接插入效率要高。我们再看一下如果使用递归怎么写,看下面代码
OK,上面就是所谓的插入算法。
关注,点赞,评论,转发
以上是关于103,排序-插入排序的主要内容,如果未能解决你的问题,请参考以下文章
插入排序(直接插入排序折半插入排序希尔排序的算法思想及代码实现)
直接插入排序 ,折半插入排序 ,简单选择排序, 希尔排序 ,冒泡排序 ,快速排序 ,堆排序 ,归并排序的图示以及代码,十分清楚