버블 정렬 (Bubble Sort) 선택 정렬 (Selection Sort)
기본 정렬 알고리즘 [버블 정렬(Bubble Sort), 선택 정렬(Selection Sort)]
버블 정렬 (Bubble Sort)
정의
버블 정렬은 가장 간단한 정렬 알고리즘 중 하나입니다. 이 알고리즘은 반복적으로 리스트를 순회하며 인접한 요소를 비교하고, 필요한 경우 위치를 교환합니다.
작동 원리
- 리스트의 첫 번째 요소부터 시작하여 인접한 요소끼리 비교합니다.
- 만약 앞의 요소가 뒤의 요소보다 크면, 두 요소의 위치를 교환합니다.
- 이 과정을 리스트의 모든 요소에 대해 반복합니다.
- 한 번의 순회가 끝날 때마다, 가장 큰 요소가 리스트의 마지막으로 이동하게 됩니다.
- 리스트의 모든 요소가 정렬될 때까지 이 과정을 반복합니다.
알고리즘 복잡도
- 최악의 경우 시간 복잡도: O(n^2)
- 최선의 경우 시간 복잡도: O(n)
- 평균 시간 복잡도: O(n^2)
- 공간 복잡도: O(1)
예시 코드
1
2
3
4
5
6
7
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
선택 정렬 (Selection Sort)
정의
선택 정렬은 다른 정렬 알고리즘과 비교하여 상대적으로 단순한 알고리즘입니다. 이 알고리즘은 주어진 배열에서 최소값을 찾아 앞으로 이동시키는 방식으로 작동합니다.
작동 원리
This post is licensed under CC BY 4.0 by the author.
Comments powered by Disqus.