排序 選擇排序

2021-07-24 19:57:42 字數 585 閱讀 5906

選擇排序:

進行選擇排序就是把所有的隊員掃一遍,從中挑出(或者選擇)最矮的乙個隊員。最矮的這個隊員和站在佇列最左端的隊員交換位置,即站到0號位置。現在最左端的隊員是有序的了,不需要再交換位置了。

再次掃瞄佇列時,就從1號位置開始,還是尋找最矮的,然後和1號位置的隊員交換,這個過程一直持續到所有的隊員都排定。

public class selectionsort

;

for(int i = 0;iarray[j] )   //如果找到比當前最小值還小的元素,則執行交換}}

for(int i=0;i選擇排序的效率:選擇排序和氣泡排序執行了相同的次數的比較: n*(n-1)/2

對於10個資料項,需要45次比較。然而,10個資料項只需要少於10次交換。對於100個資料項,需要4950次比較,但只進行了不到100次交換。n值很大時,比較的次數是主要的,所以結論是選擇排序和氣泡排序一樣執行了o(n^2)時間。但是,選擇排序無疑更快,因為它進行的交換少得多。

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

寫在前面 上傳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.的最大 最小者形成排序,非常好理解。選擇排序可能是和氣泡排序一樣,最直觀能想到的排序方法。顯然選擇排序和氣泡排序一樣,無所謂最好 最壞 平均,選擇排序...