简述 插入排序是一种简单直观的排序方法,其基本思想在于每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中,直到全部记录插入完成。插入排序主要有三个算法:直接插入排序、折半插入排序和希尔排序。 直接插入排序 算法思想 直接插入排序的简单思想就是不断地将一个元素插入到一个有序的序列中, ...
分类:
编程语言 时间:
2020-04-16 19:17:00
阅读次数:
68
前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http://t.cn/A6Zvjdun 0. PyCharm 常用快捷键 1. 查看使用库源码 PyCh ...
分类:
编程语言 时间:
2020-04-16 15:35:49
阅读次数:
85
概念 同直接插入排序,多段后移。也叫增量排序。 基本思想 先取一个小于n的数d1作为第一个增量,把文件的全部记录分组 所有距离为d1的倍数的记录放在同一个组中 现在各组内进行直接插入排序 然后取第二个增量d2<d1重复上述的分组和排序,直至所取得增量 = 1,即将所有的记录放在同一组中进行直接插入排 ...
分类:
编程语言 时间:
2020-04-14 12:56:38
阅读次数:
81
概念 直接插入排序是一种最简单的排序方法,排序过程为:先将第一个元素看作是只有一个元素的有序子表,然后从第二个元素开始,将待排序元素依次插入到前面有序的子表中,直到全部排序完毕。在整个过程中,前面的元素是已经排序号的列表,后面的元素为待排序处理。 如下排序是将列表{ 7,3,5,4,6 }升序的排序 ...
分类:
编程语言 时间:
2020-04-14 12:15:52
阅读次数:
70
直接插入排序 在有序数组中插入一个元素,可以作为一种排序方法的基础 只有一个元素的数组是一个有序数组,对n个元素的数组,可以从第一个元素所构成的单元数组开始,不断实施插入操作 插入第二个元素,得到2个元素的有序数组。插入第三个元素,得到3个元素的有序数组 如此反复,得到n个元素的有序数组 示例 对序 ...
分类:
编程语言 时间:
2020-04-13 09:13:44
阅读次数:
59
1.希尔排序 希尔排序是对直接插入排序的一种改进,基本思想是隔一定间隔取元素组成一组元素,然后对这组元素进行直接插入排序,所有元素排序完一次后。间隔减少,再进行同样的操作,直到间隔变为1,这时就是直接插入排序了,因为经过前面的步骤,元素大多数都是有序了,直接插入排序,对有序序列的效率是很高的。 2. ...
分类:
编程语言 时间:
2020-04-12 16:53:51
阅读次数:
86
首先介绍一下Set对象 Set对象是值的集合,你可以按照插入的顺序迭代它的元素。 Set中的元素只会出现一次,即 Set 中的元素是唯一的。 语法如下 const set1 = new Set([1, 2, 3, 4, 5]); console.log(set1.has(1));// expecte ...
分类:
其他好文 时间:
2020-04-06 11:23:57
阅读次数:
73
排序算法 直接插入排序:将数组中的所有元素依次跟前面已经排好的元素相比较,如果选择的元素比已排序的元素小,则交换,直到全部元素都比较过 希尔排序:将待排序数组按照步长gap进行分组,然后将每组的元素利用直接插入排序的方法进行排序;每次将gap折半减小,循环上述操作;当gap=1时,利用直接插入,完成 ...
分类:
编程语言 时间:
2020-04-06 09:46:47
阅读次数:
78
Python实现十大经典排序算法 代码最后面会给出完整版,或者可以从 "我的Github" fork,想看动图的同学可以去 "这里" 看看; 小结: 1. 运行方式,将最后面的代码copy出去,直接python sort.py运行即可; 1. 代码中的健壮性没有太多处理,直接使用的同学还要检查检查; ...
分类:
编程语言 时间:
2020-04-04 19:06:02
阅读次数:
78
N 元素个数 第一个for循环控制的是间隔 剩下的两个for循环用于直接插入排序 for (gap = N / 2; gap > 0; gap /= 2) for (i = gap; i < N; i++) for (j = i - gap; j >= 0 && A[j] > A[j + gap]; ...
分类:
编程语言 时间:
2020-03-11 23:52:25
阅读次数:
100