버블정렬(Bubble Sort) 알고리즘

나나·2021년 11월 17일
0

알고리즘

목록 보기
6/6
post-custom-banner

버블 정렬이란?

  • 서로 인접한 두 원소를 비교해가며 정렬하는 알고리즘
  • 두 원소를 비교했을 때 크기가 순서대로 되어있지 않으면 두 원소의 순서를 교환한다.

예제

예제와 함께 살펴보자. 다음과 같은 배열이 있다고 가정했을 때, 버블 정렬 알고리즘으로 오름차순으로 정렬해본다.

초기상태

🎈 1회전

1회전 완료

🎈 2회전

2회전 완료

🎈 3회전

3회전 완료

🎈 4회전

4회전 완료

오름차순 완성

버블정렬의 장단점

😊 장점

  1. 구현이 매우 쉽고 코드도 직관적이다.

☹️ 단점

  1. O(N^2)라는 시간복잡도를 가진 정렬 알고리즘으로, 굉장히 비효율적이다.
  2. 특정 요소가 최종 정렬 위치에 있는 상태임에도 불구하고 교환되는 일이 생길 수 있다.

장점보다는 단점이 많은 정렬 알고리즘이라 실제로는 거의 쓰이지 않는 알고리즘이다.

참고

https://gmlwjd9405.github.io/2018/05/06/algorithm-bubble-sort.html
https://yabmoons.tistory.com/250

profile
코린이의 둥당둥당 개발일지
post-custom-banner

0개의 댓글