排序 選擇排序

2021-08-20 19:32:23 字數 1012 閱讀 2384

如圖:

}測試**: 

public class testsort ;

selectionsort.selectionsort(a, 9);

for(integer integer:a)

}}

public class recursionsort 

} return indexofmin;

} private static void swap(object a,int i, int j)

public static void main(string args) ;

recursion.selectionsort(a,0,a.length-1);

for(integer integer:a) }}

在迭代方法selectionsort中,for迴圈每執行n-1次,分別呼叫getindexofsmallest和swap方法各n-1次。在n-1次呼叫getindexofsmallest中,last是n-1,first從0變到n-2。在每次呼叫getindexofsmallest時,迴圈執行last-first次。因為last-first從(n-1)-0即n-1 變到(n-1)-(n-2)即1,共執行了(n-1)+(n-2)+...+1次,這個和為n(n-1)/2。所以選擇排序是o(n2)的。

氣泡排序通過依次交換相鄰兩個順序不合法的元素位置,從而將當前最小(大)元素放到合適的位置;而選擇排序每遍歷一次都記住了當前最小(大)元素的位置,最後僅需一次交換操作即可將其放到合適的位置

排序 選擇排序 選擇排序 堆排序

寫在前面 上傳github交換排序選擇排序 堆排序 選擇排序 顧名思義,我們就可以猜到,它是原則合適的元素放到合適的位置 從圖中,我們可以得到 1.用第乙個元素,和其他所有的元素進行比較,找出最小的,然後進行交換 2.然後進行,資料的遞增 3.直到資料全部有序 void selectsort int...

排序 選擇排序(直接選擇排序 堆排序)

選擇排序 selection sort 的基本思想是 每一趟從待排序的記錄中選出關鍵字最小的記錄,順序放在已排好序的子檔案的最後,直到全部記錄排序完畢。常用的選擇排序方法有 直接選擇排序 和堆排序。直接選擇排序 straight selection sort 1 直接選擇排序的基本思想 n個記錄的檔...

排序2 選擇排序 選擇排序 堆排序

選擇排序,依次找到資料集n n 1 n 2 中比它大 小的最大 最小者,最終達到全部資料有序。1 選擇排序 直接的依次找到資料集合n n 1 n 2.的最大 最小者形成排序,非常好理解。選擇排序可能是和氣泡排序一樣,最直觀能想到的排序方法。顯然選擇排序和氣泡排序一樣,無所謂最好 最壞 平均,選擇排序...