演算法學習之排序 選擇排序(Java)

2021-06-28 14:36:01 字數 532 閱讀 2838

public class selectsort 

}int temp = array[i];

array[i] = array[leastindex];

array[leastindex] = temp;

} }public static void main(string args) ;

select(array);

for(int a = 0; a < array.length; a++)

}}

演算法步驟:

1. 遍歷陣列一遍,從中挑出最小的,並與第0個位置交換;

2. 從第1個位置開始遍歷,找到餘下最小的,與第1個位置交換;

3. ……;

演算法效能:

若陣列中有n個資料項,則第1趟排序有(n-1)次比較,第2趟有(n-2)次比較,類推:

共有(n-1)+(n-2)+…+1 = n*(n-1)/2 次比較;

交換次數應小於或等於n;

總的來說,時間複雜度還是n方。

演算法學習筆記 排序之選擇排序

選擇排序需要額外的儲存空間,且排序的時間為o n 2 其實為o 1 2 n 2 但是常數可以省略。選擇排序每次都遍歷一遍剩下的數,然後選出最小的乙個數放到排序好的儲存空間中去。python中沒有陣列,所以用列表 list 代替。def find smallest array smallest arr...

排序演算法學習系列 選擇排序

選擇排序是最簡單直觀的一種演算法,基本思想為每一趟從待排序的資料元素中選擇最小 或最大 的乙個元素作為首元素,直到所有元素排完為止,簡單選擇排序是不穩定排序,平均時間複雜度為o n 2 o n 2 o n2 主要思路 在演算法實現時,每一趟確定最小元素的時候會通過不斷地比較交換來使得首位置為當前最小...

java排序演算法之 選擇排序

選擇排序是一種非常簡單的排序演算法,從字面意思我們就可以知道,選擇就是從未排序好的序列中選擇出最小 最大 的元素,然後與第 i 趟排序的第 i 1 陣列中下標從 0 開始 個位置的元素進行交換,第 i 個元素之 前的序列就是已經排序好的序列。整個排序過程只需要遍歷 n 1 趟便可排好,最後乙個元素自...