简单选择排序

简单选择排序
(1)算法思想:
假定前i-1个元素已经有序(升序),则从第i ~ n个元素中选出最小的与现在的第i个元素交换。
(2)伪代码:
SelectSort(int a[], int n)
{
        for (int i=0; i<n-1; i++)
        {
                int smallest = i;
                for (int j=i+1; j<n; j++)
                {
                         if (a[j]<a[smallest])
                                 smallest = j;
                }
                swap(a[i], a[smallest])
        }
}
 
(3)分析:
1)不稳定
2)空间代价:Θ(1)
3)时间代价:
比较次数:Θ(n^2)
交换次数:n-1,如果算上swap,应该是3(n-1),总的来说是Θ(n)
总代价:Θ(n^2)

你可能感兴趣的:(排序,职场,休闲)