[Algorithm] Bubble Sort


バブルソートは隣接データを交換することによってソートするアルゴリズムである.これはアルゴリズムのソートが泡のように見えることから命名された.
numsという名前の配列を指定した場合は、Bubbleソートアルゴリズムで昇順(1,2,3.10)でソートされた配列を返します.
const bubbleSort = nums => {

  for(i=0; i<nums.length; i++) {
    
    for(j=0;j<nums.length-1-i; j++) {
      
    if(nums[j] > nums[j+1]) {     
     let swap = nums[j]
      nums[j] = nums[j+1]
      nums[j+1] = swap  
    }
  
    }
    
  }
    return nums
}

泡の位置合わせのメリットとデメリット


バブルソートとは、最初の要素から始まり、隣接する要素間で位置を交換し続け、先端からソートする方法です.
選択ソートと同様に、コードが簡単で、n個の要素に対してn個のメモリを使用するのが特徴です.
しかし,選択ソートとは異なり,Bubbleソートの最大の欠点は比較回数が多く,交換回数が多いことである.
時間的複雑さは、O(n²)の選択ソートと同じであるが、実際の性能は選択ソートよりも速い.
ただし、選択ソートとは異なり、Bubbleソートは、最初の繰り返しでデータセットがソートされたことを認識することができます.これは、ソートされた場合、他のデータを追加した場合、状況に応じてソートを選択するより良い選択である可能性があります.