插入排序是很常见的排序方式,通常我们使用的插入排序有下面几种: 1、直接插入排序 算法思想:第 i 趟插入排序为:在含有i-1个元素的有序子序列中插入一个元素,使其成为含有i个元素的有序子序列。在查找插入位置的过程中,可以同时后移元素。整个过程进行n-1趟插入,即先将整个序列的第1个元素看成是有序的 ...
分类:
编程语言 时间:
2017-11-05 17:24:23
阅读次数:
177
插入排序包括:直接插入排序,二分插入排序(折半插入排序),链表插入排序,希尔排序。 今天介绍的是直接插入排序。 直接插入排序 在要排序的一组数中,假设前面(n-1) [n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。 ...
分类:
编程语言 时间:
2017-10-16 13:33:52
阅读次数:
215
1 按照排序特性分类 首先按照排序本身的操作特性可以分为下面几种: (1)插入排序 a.直接插入排序(Insert Sort) O(n^2)(稳定) b.折半插入排序(Binary Insert Sort) (不稳定) c.希尔排序(Shell Sort) (不稳定) (2)交换排序 a.冒泡排序( ...
分类:
编程语言 时间:
2017-10-13 00:43:52
阅读次数:
311
排序算法分为很多种,其中插入排序算是最基础的排序算法了。插入排序包括直接插入排序,折半插入排序和希尔排序,这三种排序算法本质是一样的,但是在实际操作和实现的过程中有不同的辅助存储空间和时间复杂度。一、直接插入排序基本思想直接插入排序是指把一个元素直接插入到..
分类:
编程语言 时间:
2017-09-08 10:11:19
阅读次数:
170
排序 一、插入排序 1、插入排序的算法 2、考点归纳 1)折半插入排序和直接插入排序异同点 不同点:折半插入排序元素比较次数少于直接插入排序 相同点:折半插入排序的平均移动元素次数与直接插入排序一致 注意:一个算法的时间复杂度,与所需要比较的关键字次数、需要移动的记录数量都有关, 2)直接插入排序 ...
分类:
编程语言 时间:
2017-09-03 15:40:47
阅读次数:
225
两种方法都编译运行通过,可以当做排序类直接使用。 折半插入排序: 直接插入排序: ...
分类:
编程语言 时间:
2017-08-30 23:48:15
阅读次数:
360
基本思想 折半插入排序的基本思想与直接插入排序一样,在插入第i(i≥1)i(i≥1)个元素时,前面i?1i-1个元素已经排好序。差别在于寻找插入位置的方法不同。折半插入排序是採用折半查找法来寻找插入位置的。 折半查找法的基本思路是:用待插元素的值与当前查找序列的中间元素的值进行比較,以当前查找序列的 ...
分类:
编程语言 时间:
2017-08-03 22:16:14
阅读次数:
192
就自己简单的理解了一些排序算法(JAVA)思路和代码分享给大家:欢迎大家进行交流。 直接插入排序,折半插入排序,冒泡排序,快速排序 ...
分类:
编程语言 时间:
2017-07-14 22:10:55
阅读次数:
175
排序思路:通过折半查找的方式找到合适的插入位置再插入。 算法实现: 算法分析:不管元素的初始序列为正序还是反序,其时间复杂度都和直接插入排序的一样为O(n2)。不同的是折半插入排序中查找的平均比较次数为log2(i+1)-1, 所以就平均性能而言,折半插入排序优于直接插入排序。 同样,折半插排序的空 ...
分类:
编程语言 时间:
2017-06-06 11:59:04
阅读次数:
177