整列(Sort)-1
ソートの選択
セレクトソート(Selection Sort)は、最上位を選択して先頭に送るソートアルゴリズムである.
O(N^2)
let selectionSort = (arr) => {
let minIdx, temp;
for (let i = 0; i < arr.length; i++) {
minIdx = i;
for (let j = i+1; j < arr.length; j++) {
if (arr[minIdx] > arr[j]) {
minIdx = j;
}
}
// 최솟값이 변경되면 swap
if (minIdx !== i) {
temp = arr[minIdx];
arr[minIdx] = arr[i];
arr[i] = temp;
}
}
return arr;
}
泡の位置合わせ
ブールソート(Bubble Sort)は、小さな値を前に引くソートアルゴリズムです.
O(N^2)
let BubbleSort = function(arr) {
let temp;
for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr.length - i; j++) {
if (arr[j+1] < arr[j]) {
temp = arr[j];
arr[j] = arr[j+1]
arr[j+1] = temp;
}
}
}
return arr;
}
整列挿入
ソートの挿入は、各数値を適切な位置に挿入するソートアルゴリズムです.ソートが必要な場合にのみ挿入されるため、大まかなソートに限られる場合はどのソートアルゴリズムよりも速い.
O(N^2)
let insertionSort = (arr) => {
let temp;
for (let i = 0; i < arr.length; i++) {
let j = i;
while (arr[j] > arr[j+1]) {
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
j--;
}
}
return arr;
}
Reference
この問題について(整列(Sort)-1), 我々は、より多くの情報をここで見つけました https://velog.io/@leo-xee/정렬Sort-1テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol