728x90
버블 정렬 (Bubble Sort)
버블 정렬은 선택 정렬과 유사한 알고리즘으로 서로 인접한 두 원소의 대소를 비교하고, 조건에 맞지 않다면 자리를 교환하며 정렬하는 알고리즘.
- 버블 정렬하면 배열의 뒤에서부터 정렬된다.
- 배열의 첫 번째 요소부터 n번째 요소까지 오름차순으로 버블 정렬을 수행하면 해당 범위의 최댓값이 n번째에 위치하게 된다.
배열의 n번째 요소를 정렬하는데 n-1번을 비교하므로 배열의 모든 요소를 정렬하려면 (n-1) + (n-2) + ... + 2 + 1 = n(n-1) / 2 만큼 연산을 수행한다.
시간 복잡도 : O(n^2)
def bubble_sort(arr):
for i in range(len(arr)):
for j in range(len(arr) - i - 1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
728x90
'Tech > Algorithm' 카테고리의 다른 글
[Algorithm] 삽입 정렬 (Insertion Sort) (0) | 2025.03.17 |
---|---|
[Algorithm] 선택 정렬 (Selection Sort) (0) | 2025.03.17 |
[Algorithm] Dynamic Programming (동적 계획법) (0) | 2025.02.17 |
[Algorithm] Priority Queue (우선순위 큐) (0) | 2025.02.12 |
[Algorithm] Greedy (그리디 알고리즘) (0) | 2025.02.10 |