基礎演算法 排序 簡單排序之二(選擇排序)

2021-06-26 13:09:02 字數 656 閱讀 8543

選擇排序的時間複雜度依然為o(n^2)

一,原始選擇排序

最簡單最好記的**,也是最糟糕的排序,稱之為暴力排序,時間複雜度為o(n^2),直接上**吧,除非在面試的時候所有的排序演算法都想不起來了,不然不要選擇這個排序

// compare

public static boolean more(int v, int w)

// exchange

public static void exchange(int array, int i, int j)

// selectionsort algorithm

public static void selectionsort(int array)

} }

二. 改進選擇排序

即每一次記錄下最小值,然後交換,時間複雜度得到2倍的優化。證明如下

**如下

public static void selectionsort(int array) 

exchange(array, i, minindex);

} }

簡單排序 選擇排序

package cnic.cn.impl public class selectionsort change array out swap value array out array max array max change output for int i 0 i 9 i 選擇排序的效率問題 選擇...

簡單排序 選擇排序

首先,我們應該了解什麼是選擇,其本質是從乙個陣列裡面的第乙個數開始,和後面的數開始比較,找到乙個最小的數,然後,讓他和第乙個數交換。然後又從第二個數開始,以此類推,直到遍歷完全g。要明白怎樣可以通過不斷地比較,將最小的數字比較出來,第一次比較之後,將最小的數往前移動,但是後面可能還會 有更小的數,所...

排序演算法 選擇排序 簡單排序 堆排序

1 介紹。在簡單選擇排序過程中,所需移動記錄的次數比較少。最好情況下,即待排序記錄初始狀態就已經是正序排列了,則不需要移動記錄。最壞情況下,即待排序記錄初始狀態是按第一條記錄最小,之後的記錄從小到大順序排列,則需要移動記錄的次數最多為3 n 1 簡單選擇排序過程中需要進行的比較次數與初始狀態下待排序...