✔ 버블 정렬
버블 정렬이란?
- 데이터의 인접 요소끼리 비교하고, swap 연산을 수행하며 정렬하는 방식
- 간단하게 구현할 순 있지만, 시간 복잡도는 O(N²)으로 다른 정렬 알고리즘보다 속도가 느린 편
- 1번의 루프를 도는데 N * N번의 루프 = N²
버블 정렬 과정
- 비교 연산이 필요한 루프 범위를 설정
- 인접한 데이터 값을 비교
- swap 조건에 부합하면 swap 연산을 수행
- 루프 범위가 끝날 때까지 2~3을 반복
- 정렬 영역을 설정한 후, 다음 루프를 실행할 때는 이 영역을 제외
- 비교 대상이 없을 때까지 1~5를 반복
- 만약 특정한 루프의 전체 영역에서 swap이 한 번도 발생하지 않았다면
그 영역 뒤에 있는 데이터가 모두 정렬됐다는 뜻이므로 프로세스를 종료
더보기
Do it! 알고리즘 코딩테스트 with JAVA
'Coding Test > Java 알고리즘 개념' 카테고리의 다른 글
[정렬] 삽입 정렬 (0) | 2023.07.01 |
---|---|
[정렬] 선택 정렬 (0) | 2023.06.30 |
[자료구조] 스택과 큐 (0) | 2023.06.29 |
[자료구조] 슬라이딩 윈도우 (0) | 2023.06.28 |
[자료구조] 투 포인터 (0) | 2023.06.28 |