🟡 버블 정렬(bubble sort)
- 두 인접한 데이터의 크기를 비교하고, swap 연산을 수행하며 정렬하는 방식
- 장점: 간단하게 구현 가능
- 단점: 시간 복잡도가 O(n^2)으로 다른 정렬 알고리즘에 비해 속도가 느린 편
🟡 버블 정렬 과정
① 비교 연산이 필요한 루프 범위를 설정한다.
② 인접한 데이터 값을 비교한다.
③ swap 조건에 부합하면 swap 연산을 수행한다.
④ 루프 범위가 끝날 때 까지 ②~③을 반복한다.
⑤ 정렬 영역을 설정한다. 다음 루프를 실행할 때는 이 영역을 제외한다.
⑥ 비교 대상이 없을 때 까지 ①~⑤를 반복한다.
+ 만약 특정한 루프의 전체 영역에서 swap이 한 번도 발생하지 않았다면 데이터가 모두 정렬됐다는 뜻이므로 프로세스를 종료해도 된다.
'CS > 알고리즘' 카테고리의 다른 글
[알고리즘] 브루트 포스(brute force) 알고리즘 (0) | 2023.01.16 |
---|---|
[알고리즘] 재귀(Recursion), 재귀 호출(Recursive call) (0) | 2023.01.02 |
[알고리즘] 투 포인터, 슬라이딩 윈도우(two pointers, sliding window) (0) | 2022.12.14 |
[알고리즘] 구간 합 알고리즘(Prefix Sum) (0) | 2022.11.10 |
[알고리즘] 시간 복잡도(Time Complexity) (0) | 2022.10.20 |
댓글