
排序
文章平均质量分 54
Fate stay
这个作者很懒,什么都没留下…
展开
-
快排
就是利用分治的思想将大问题分成小问题解决。首先随便找一个作为标准(为方便每次以左边第一个为标准),将所有比他大的移到其右边,比他小的移到其左边,然后将其左边的和右边的所有数作为整体递归执行同样的操作,直到要执行的整体为一;例如要排序的数为:44,71,28,61,37,29;第一次以基准值:temp=44为标准经过移动得:29 ,37,28,44,61,71;然后再分别对29,37,28和61,6...原创 2016-09-01 15:21:33 · 283 阅读 · 0 评论 -
插入排序
插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。 每次遍历的任务是:通过扫描前面已排序的子列表,将位置i处的元素定位到从0到i的子列表之内的正确的位置上。 效率: 空间复杂度O(1) 时间复杂度O(n2) 最差情况:反序,需要移动n*(n-1)/2个元素 最好情况:正序,不需要移动元素 数组在已排序或者是“近似排序”时,插入原创 2016-08-25 01:33:07 · 227 阅读 · 0 评论 -
归并排序
归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列。如果要排序的只有两个数,很显然只要比较两者的大小即可;如果有四个数如6,4,3,8呢?我们可以采用分治的想法将其分为俩个部分6,4和3,8;将6,4排序的 到4,6;将3,8排序;然后将这两部分按从小到大合...原创 2016-08-25 02:23:27 · 203 阅读 · 0 评论