def bubble(lst):
for i in range(len(lst)-1):
if lst[i] > lst[i+1]:
lst[i], lst[i+1] = lst[i+1], lst[i]
a = [3, 1, 5, 9, 7, 10]
bubble(a)
print(a)
# Bubble Sort
# 서로 인접한 두 원소의 대소를 비교해가면서 자리를 교환해 정렬하는 방식
# 시간복잡도: O(n^2)
# 공간복잡도: n
# 장점: 구현이 쉽다. memory가 추가로 들지 않는다(in-place). 중복된 값들이 있을 경우 원래 순서를 보장한다(stable).
# 단점: 정렬이 되어 있건 안 되어 있건 무조건 비교 연산을 수행하기 때문에 수행시간이 무조건 n^2이다.
'CS > 알고리즘' 카테고리의 다른 글
Insertion Sort in Python (삽입 정렬) (0) | 2020.06.09 |
---|---|
크루스칼 알고리즘 (Python) (0) | 2020.05.07 |
프림 알고리즘 (Python) (0) | 2020.05.07 |
Call by Value vs Call by Reference (0) | 2020.04.28 |
Selection Sort (선택 정렬) (0) | 2020.04.24 |