摘要: 快速排序 和归并排序一样,也是采用分治(Divide and Conquer)思想。分为三步: 分解:将数组A[p...q]划分成两个数组A[p..r-1]和A[r+1..q],使得A[p..r-1]中的每个元素都小于等于A[r],并且A[r+1..q]中所有元素大于等于A[r],A[r]称为主... 阅读全文
posted @ 2015-11-10 23:04 浩荡乾坤 阅读(2273) 评论(0) 推荐(0) 编辑
摘要: 归并排序 采用分治(Divide and Conquer)思想。 主要思想:将数组分成两部分,如果这两部分均有序,那么便可在O(n)的时间内合并成一个完整的有序数组。 以此类推将区间划分下去,直到每个区间只有一个元素,即可认为已经有序,然后两两合并。 T(n)=T(n/2)+O(n) 其... 阅读全文
posted @ 2015-11-10 21:10 浩荡乾坤 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 插入排序 插入排序的思想为:从数组的第二个元素开始遍历整个数组。针对每个元素,依次将其前面的所有元素和他进行比较,大于它的元素均向后移动,最后将该元素插入。 插入排序是一种稳定的排序算法。 时间复杂度T(n)=O(n^2) 最好情况下已排好序,T(n)=O(n) private void sw... 阅读全文
posted @ 2015-11-10 20:33 浩荡乾坤 阅读(153) 评论(0) 推荐(0) 编辑