😺

【アルゴリズム】バブルソート

2023/07/23に公開

バブルソートとは?

配列の要素を、先頭または末尾から1つずつ選び、隣の数と比較し、その数より大きい、または小さかったら並び替えていくソートです。そうして、ある要素を置くポジションをだんだんと固定させていくソートになります。

バブルソートのシンタックス

babble_sort.js
let arr = [1,3,2,5,6,4,2,10]

function babbleSort(arr) {
  for (let i:number=0; i<array.length; i++){
    for(let j:number=array.length; i<j; j--;){
      if(array[j-1]>array[j]){
        let tmp= array[j-1];
	areay[j-1]= areay[j];
	array[j] = tmp;
      }
    }
  }
}

バブルソートの良さが活きるタイミング

正直あんまりわかってないです。

http://sevendays-study.com/algorithm/day5.html
上記にあるようにバブルソートは、(n*n-1)/2回行うことになるので、実際の業務でバブルソートだけ使うという場面はなかなかないのかなと思います。

ただ、既にある程度情報が並び替えられていたりして、並び替えの回数が少ない場合にバブルソートを選択するというのはありそうです。

補足) わかりやすい記事

https://magazine.techacademy.jp/magazine/33089
上記の記事の図がわかりやすかったです。

Discussion