算法
stuliper
这个作者很懒,什么都没留下…
展开
-
直接插入排序
原理:从待排序的n个记录中的第二个记录开始,依次与前面的记录比较并寻找插入的位置,每次外循环结束后,将当前的数插入到合适的位置。稳定性:稳定排序。时间复杂度: O(n)至O(n2),平均时间复杂度是O(n2)。最好情况:当待排序记录已经有序,这时需要比较的次数是Cmin=n−1=O(n)。最坏情况:如果待排序记录为逆序,则最多的比较次数为Cmax=∑i=1n−1(i)=n(n−1)...原创 2018-08-30 23:49:23 · 865 阅读 · 0 评论 -
快速排序
通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序。...原创 2018-08-28 14:37:39 · 155 阅读 · 0 评论 -
冒泡排序
冒泡排序总的平均时间复杂度为 冒泡排序算法的原理如下: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 自己理解:相邻比较,对数...原创 2018-08-28 14:40:36 · 195 阅读 · 0 评论