반응형
🤔 버블 정렬이란?
- 버블 정렬은 두 인접한 데이터의 크기를 정렬하는 방법이다.
- 시간 복잡도는 O(n^2)으로 속도가 느린 편이다.
👉 버블 정렬 수행 방식

✔️ 버블 정렬 과정
- 정렬이 필요한 루프 범위를 설정한다.
- 인접한 데이터끼리 비교한다.
- swap할 조건에 맞다면, swap을 수행한다.
- 루프 범위가 끝날 때까지, 2, 3번을 반복 수행한다.
- 파란색 영역은 정렬이 끝났기 때문에, 다음 루프에서는 영역을 제외한다.
- 비교할 대상이 없을 때까지 위의 순서를 반복한다.
🏷️ 만약, 루프 범위에서 swap이 한번도 일어나지 않았다면, 해당 범위는 이미 정렬이 끝났다는 의미이므로, 루프를 종료해도 된다.
👨💻 연습 문제
백준 - 버블 소트 (Python 풀이)
https://www.acmicpc.net/problem/1377 1377번: 버블 소트 첫째 줄에 N이 주어진다. N은 500,000보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 A[1]부터 A[N]까지 하나씩 주어진다. A에 들어있는 수는 1,000,0
zhsusegg.tistory.com
반응형