算法
lic0112
这个作者很懒,什么都没留下…
展开
-
冒泡排序
步骤1:比较第n个和第n+1个元素,如果 n > n+1,则交换n 和n+1的位置,以此类推直到集合末尾,则最后一个元素为最大元素,然后再重头比较;步骤2:对剩下的从0到length-1个元素重复做步骤1,开始第二轮比较,以此类推(参见sort的实现)复杂度: 最坏情况是顺序相反,则需要进行n(n-1)次比较,复杂度为O(n^2)优化1: 假如集合原本就是有序的,我们只需要一轮比...原创 2018-04-11 16:14:39 · 101 阅读 · 0 评论 -
快速排序
快速排序是对冒泡排序的一种改进,基本思想是:从集合中抽取一个值作为指标,通过一轮比较,将大于指标的值放到右边,小于指标的值放在左边,然后分别对左右两个子集合再进行快速排序;抽取集合第一个元素(其实可以用任何位置的元素,选择第一个会使对比和移动少一次,效果更好)作为指标从右边开始查找第一个小于指标的值,放到指标所在位置 0,空出位置n;从左边查找第一个大于指标的值,放到空位置n,空出位置m;从右边开...原创 2018-04-11 20:30:40 · 124 阅读 · 0 评论