2011年6月4日 星期六

演算法 - 選擇排序法 ( selection sort )

擇排序(Selection sort)是一種簡單直觀的排序演算法。它的工作原理如下。首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小元素,然後放到排序序列末尾。以此類推,直到所有元素均排序完畢。

時間複雜度:O(n2)
空間複雜度:O(1)

以上引用自維基百科:http://zh.wikipedia.org/wiki/%E9%81%B8%E6%93%87%E6%8E%92%E5%BA%8F

以下利用 C# 程式碼示範:
public void sort(int n, int[] s)
{
    int i, j, flag;
    for (i = 0; i < n - 1; i++)
    {
        flag = i;
        for (j = i + 1; j < n; j++)
            if (s[j] < s[flag])
                swap(ref s[j], ref s[flag]);
    }
}

void swap(ref int i, ref int j)
{
    int temp;
    temp = i;
    i = j;
    j = temp;
}
回首頁

沒有留言 :

張貼留言

Related Posts Plugin for WordPress, Blogger...