算法导论(第三版)Exercies2.2(插入排序)

2.2-1:

Θ (n3)

2.2-2:插入排序

void selectionSort(int a[], int n)
{
    int i, j, k, key;

    for(i=0; i<n-1; i++)
    {
        k = i;
        for(j=i+1; j<n; j++)
           if(a[k] > a[j]) k = j;
        if(k != i)
        {
            key = a[k];
            a[k] = a[i];
            a[i] = key;
        }
    }
}
View Code

最佳情况:Θ(n2)

最差情况:Θ(n2)

2.2-3:线性排序

平均情况:n/2

最差情况:n

2.2-4:

方法:首先判断是否已满足完成条件,则在最佳情况下程序可以有更好的效果。

posted @ 2015-07-12 18:00  _不忘初心方得始终  阅读(186)  评论(2编辑  收藏  举报