CodeKata_Week 5_Day 1


📝 Today Question
「ソートの選択」(Selection Sort):ソートの選択は、ソートされていないデータの中で最も小さいデータを選択することによって、先頭から順番にソートされるアルゴリズムです.選択ソートアルゴリズムを使用して問題を解いてください.
✏️ Problem Statement
numsという名前のソートされていない数値配列を指定した場合は、昇順(1,2,3.10)でソートされた配列を返します.

🔎 ソートの選択とは?



ソース:https://velog.io/@rororo/データ構造アルゴリズム-ソートの選択
✔ Check Point 1
:選択ソートは、第1のデータを第2のデータから最後のデータまで順次比較し、最小の値を第1のデータに配置し、第2のデータを第3のデータから最後のデータまで順次比較し、その中の最小の値を探し出し、第2の位置に再配置するプロセスです.
✔ Check Point 2
:1回の回転を行うと最小値のデータが一番前に表示されるので、次の回転では2回目のデータを比較します.同様に,n回目の回転では,n回目の資料をソートする.
✔ Check Point 3
:利点-資料の移動回数を事前に決定します.
:欠点-値が同じ場合、相対位置が変化する可能性があり、安定性の要件を満たしていません.
ソース:https://gmlwjd9405.github.io/2018/05/06/algorithm-selection-sort.html

🔎 問題をどう処理すればいいですか?


🏃
const selectionSort = (nums) => {
  for (let i = 0; i<nums.length; i ++) {
    let min = i;
    for (let j = i+1; j<nums.length; j++){
      if (nums[min]>nums[j]){
        min = j;
      }
    }
    if (min!==i){
      let change = nums[min];
      nums[min] = nums [i];
      nums[i] = change;
    }
  }
  return nums;
}

🏆 Run Test!



🔎 知っていることを整理しましょう。


10004ソートアルゴリズムを学習する理由は,有効な探索を行うためである.閲覧が必要なデータがソートされていないと、クエリー、挿入、削除などのデータへのアクセス性が低下します.ソートアルゴリズムは無数であり,時間的複雑さ,空間的複雑さを解決することを目標としている.