簡單選擇排序

簡單選擇排序
(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)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章