排序
排序
- 快速排序
- 基本思路:
- 选择枢轴,经过一趟排序后找到枢轴应该放的位置,并且枢轴左边都小于枢轴,右边均大于。
- 递归执行左子序和右子序
- 具体算法:
- 在找枢轴位置时,在low小于high的情况下,先从high位置与枢轴值比较若大于high向前移动,直到找到比枢轴值小的与low交换
- 基本思路:
- 选择排序
- 基本思想
- 选择最小的放在首位,之后在比较后面的子序列
- 基本思想
- 插入排序
- 基本思想
- 假设第一个元素自成一个有序列,将后面元素一次插入到队列中
- 基本思想
- 冒泡排序
- 基本思想
- 经过第一轮比较后,最大位于第n位,下一轮比较前n-1位子序列
- 基本思想
- 希尔排序
- 基本思想
- 选择一个增量delta,该增量大于1,从数组中按此增量选择出子数组进行一次直接插入排序。
- 保留该增量delta并依次移动首个元素进行直接插入排序,直到一轮完成。
- 减小增量,不断重复上述过程,直到增量减小为1.显然,最后一次为直接插入排序。
- 基本思想
- 归并排序
- 基本思想
- 将数组划分为尺寸为1的数组子序列
- 再两两归并
- 基本思想
- 堆排序
- 基本思想
- 先构建堆
- 每次取堆顶元素,再重新构建堆
- 详细说明:http://www.cnblogs.com/skywang12345/p/3602162.html
- 基本思想