選擇排序是一種簡單直觀的排序演算法,其基本原理如下:對於給定的一組記錄,經過第一輪比較後得到最小的記錄,然後將該記錄的位置與第乙個記錄的位置交換;接著對不包括第乙個記錄以外的其他記錄進行第二次比較,得到最小記錄並與第二個位置記錄交換;重複該過程,知道進行比較的記錄只剩下乙個為止。
從簡單選擇排序的過程來看,它最大的特點是交換移動資料次數相當少,這樣就節約了相應的時間。分析它的時間複雜度發現,無論是最好最差情況,其比較次數都是一樣多,第 i 趟排序需要進行 n-i 次關鍵字比較,此時需要比較次
儘管與氣泡排序同為
以陣列為例,
排序演算法 希爾排序原理及Java實現
希爾排序也成為 縮小增量排序 其基本原理是,現將待排序的陣列元素分成多個子串行,使得每個子串行的元素個數相對較少,然後對各個子串行分別進行直接插入排序,待整個待排序列 基本有序 後,最後在對所有元素進行一次直接插入排序。因此,我們要採用跳躍分割的策略 將相距某個 增量 的記錄組成乙個子串行,這樣才能...
排序演算法 快速排序原理及Java實現
和以前的寫法對比,基準值所在的位置沒必要每次都進行交換,只在一次快排完成後,重新把當前的基準值賦值給現在的index位置就好了。寫的很強,感謝作者 public class quicksort i low j hight index a i 用子表的第乙個記錄做基準 while i j a i in...
選擇排序原理分析及Java實現
選擇排序 它的工作原理是每一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置,直到全部待排序的資料元素排完。選擇排序是不穩定的排序方法 比如序列 5,5,3 第一次就將第乙個 5 與 3 交換,導致第乙個5挪動到第二個5後面 演算法原理 1.首先從原始資料中選擇選擇最小的1個...