- 浏览: 1436 次
- 性别:
- 来自: 北京
最新评论
文章列表
归并排序
原理
是指将两个已经排序的集合并成一个集合。需要递归操作,对子集合的操作,在其长度为1的时候停止。合并的操作类似于将两叠排好序的纸牌合并,依次从最上面找到最小的一张,如此往复。
示例代码
public void mergeSort(int[] a) {
mergeSort(a, 0, a.length - 1);
}
private void mergeSort(int[] a, int p, int r) {
int q = 0;
if (p < r) {
q = (r + p) / 2;
mergeSort(a, p, q);
...
直接插入排序
算法实现
每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。
给出Java代码如下
public void insertSort(int[] a) {
for (int i = 1; i < a.length; i++) {
int key = a[i];
for (int j = i - 1; j >= 0 && a[j] > key; j--) {
a[j + 1] = a[j];
a[j] = key;
}
}
}
分析
最坏情况下进行n*(n-1 ...