表現最穩定的排序演算法之一(這個穩定不是指演算法層面上的穩定哈),因為無論什麼資料進去都是o(n²)的時間複雜度…..所以用到它的時候,資料規模越小越好。唯一的好處可能就是不占用額外的記憶體空間了吧。理論上講,選擇排序可能也是平時排序一般人想到的最多的排序方法了吧。(1)演算法簡介
選擇排序(selection-sort)是一種簡單直觀的排序演算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。(2)演算法描述和實現
n個記錄的直接選擇排序可經過n-1趟直接選擇排序得到有序結果。具體演算法描述如下:
**實現:
function selectionsort(arr)執行:} tep=arr[min];
arr[min]=arr[i];
arr[i]=tep
} return arr;
}
console.time('ss')結果:console.log(sectionsort([3,4,51,22,111]))
console.timeend('ss')
常規排序演算法總結
首先推薦乙個學習資料結構的優秀的視覺化 主要總結以下6種排序演算法,其中插入排序 選擇排序 歸併排序 快速排序。1.氣泡排序 bubble sort 和快速排序 quick sort 和隨機快速排序 random quick sort 博文待寫 2.插入排序 insertion sort 和希爾排序...
排序演算法 選擇排序
private static int leftchild int i private static void perc int a,int i,int n for int i 0 ir j break else public static void heasp int r,int n for i 0...
排序演算法 選擇排序
摘自 wiki百科 選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理如下。首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小元素,然後放到排序序列末尾 目前已被排序的序列 以此類推,直到所有元素均排序完畢。c語言實現 vo...