05 - bubbleSort

코드위의승부사·2019년 12월 2일
0

TIS(Today I Solved)

목록 보기
5/6

문제설명

버블 정렬 알고리즘
: 첫번째 원소와 두번째 원소를 검사하여 크기 순이 아니면 바꿔준다. 가장 큰 값(Bubble)이 배열의 끝에 가게된다.
배열의 끝에 가게되면, 배열이 순차적으로 정렬될때까지 다시 반복한다.

문제접근

당연히 sort 메소드를 사용하면 안된다.
complexity를 고려하자!
두가지 추가 옵션
1. 만약에 요소들이 바뀌지 않았다면, 정렬됬다고 판단하고 미리 함수를 끝낼 수 있다.
2. 매번 모든 요소들을 반복해서 확인해야할까?

해결방안

var bubbleSort = function(arr) {
  let big;
  let small;
  arr.forEach(() => {
    for(let i = 0; i<arr.length; i++){
      if(arr[i] > arr[i+1]){
        big = arr[i]
        small = arr[i+1]
        arr[i] = small
        arr[i+1] = big
      }
    }
  });
  return arr;
};

관련내용

회고

complexity 내용을 조금 더 알고가자

profile
함께 성장하는 개발자가 되고 싶습니다.

0개의 댓글