
算法导论
天蓝印象
做一行,爱一行
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
快速排序
import java.util.Random ; /** *快速排序思路:用到了分治法 * 一个数组A[0,n-1] 分解为三个部分,A[0,p - 1] , A[p] , A[p + 1, n-1] * 递归调用快速排序,对A[0,p - 1]和A[p + 1,n-1]进行排序 * */ public class QuickSort { /**原创 2014-08-16 19:07:10 · 628 阅读 · 0 评论 -
冒泡排序
/** *冒泡排序: * 两个两个比较,一轮过后最大的排在了最后面 * n个数变为n-1个没排好的数 * 再进行一轮 * 第二大的排在了倒数第二个 * 以此类推 * 直到排到第一个为止 * * 弄两个循环,相邻两个数比较 */ public class BubbleSort { /** *冒泡排序主方法原创 2014-08-16 19:09:19 · 540 阅读 · 0 评论 -
插入排序
/** *插入排序思路:O(n^2) * 最外层一个循环,从第二个数到最后一个,变量为i * 每个数存储在key变量中 * 变量j,是左边已经排好序的数组的上限 * 判断key与前面每一个数比较 1,3,5,2,4,6,8,5,9,10 * 《------- *原创 2014-08-16 19:08:10 · 497 阅读 · 0 评论 -
选择排序
/** *选择排序: * 对冒泡排序的一个改进 * 进行一趟排序时,不用每一次都交换,只需要把最大的标示记下 * 然后再进行一次交换 */ public class SelectSort { /** *选择排序主方法 * */ public static void selectSort(int[] resouceA原创 2014-08-16 19:04:41 · 507 阅读 · 0 评论 -
堆排序
/** *堆排序思路:O(nlogn) * 用最大堆,传入一个数组,先用数组建堆,维护堆的性质 * 再把第一个数与堆最后一个数调换,因为第一个数是最大的 * 把堆的大小减小一 * 再 在堆的大小上维护堆的性质 * 重复操作.. * * */ public class HeapSort { /** *静态变量存放原创 2014-08-16 19:06:57 · 508 阅读 · 0 评论 -
归并排序思路
/** *归并排序思路:分治法思想 O(nlogn) * 把数组一分为二,二分为四 * 四和为二,二和为一 * */ /** * 归并排序主方法 *@params 待排序的数组 *@params 初始位置 *@params 最终位置 */ public class MergeSort { public原创 2014-08-16 19:08:13 · 756 阅读 · 0 评论