
数据结构与算法
coding4all
这个作者很懒,什么都没留下…
展开
-
插入排序有点强
定义 一个有序数组,插入数据后,仍然要保证有序,我们该怎么做?其实很简单,我们只需要遍历数组,找到数据应该插入的位置将其插入即可。 排序过程 将数组中的数据分为两个区间,已排序区间和未排序区间。初始已排序区间只有一个元素,就是数组的第一个元素。插入算法的核心思想是取未排序区间中的元素,在已排序区间中找到合适的插入位置将其插入,并保证已排序区间数据一直有序。重复这个过程,直到未排序区间中元素为空,排序结束。 图解 时间复杂度 如果要排序的数据已经是有序的,我们并不需要搬移任何数据。如果我们从尾原创 2020-11-05 22:04:48 · 137 阅读 · 0 评论 -
冒泡排序知多少
定义 冒泡排序只会操作相邻的两个数据。每次冒泡操作都会对相邻的两个元素进行比较,看是否满足大小关系要求。如果不满足就让它俩互换。一次冒泡会让至少一个元素移动到它应该在的位置,重复 n 次,就完成了 n 个数据的排序工作。 排序过程 1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2. 对每一对相邻元素作同样的操作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 3. 针对所有的元素重复以上的步骤,除了最后一个。 ...原创 2020-11-03 22:44:33 · 513 阅读 · 3 评论