728x90
반응형
알고리즘 기초 예제로는 다양한 문제가 있지만, 여기서는 가장 기본적인 정렬 알고리즘 중 하나인 선택 정렬(Selection Sort) 예제를 들어보겠습니다.
선택 정렬은 주어진 배열에서 최소값을 찾아 맨 앞으로 보내는 과정을 반복하여 정렬하는 알고리즘입니다.
다음은 선택 정렬의 동작 과정을 설명한 pseudocode(의사 코드)입니다.
SelectionSort(array A)
for i = 0 to n-2
minIndex = i
for j = i+1 to n-1
if A[j] < A[minIndex]
minIndex = j
swap A[i] and A[minIndex]
위의 pseudocode에서 `A`는 정렬할 배열, `n`은 배열의 크기입니다.
이제 위 pseudocode를 실제 코드로 구현해보겠습니다.
def selection_sort(arr):
for i in range(len(arr)-1):
min_idx = i
for j in range(i+1, len(arr)):
if arr[j] < arr[min_idx]:
min_idx = j
arr[i], arr[min_idx] = arr[min_idx], arr[i]
위의 코드를 예시 입력값에 적용해보면 다음과 같습니다.
arr = [64, 25, 12, 22, 11]
selection_sort(arr)
print("Sorted array:", arr)
출력 결과는 다음과 같습니다.
Sorted array: [11, 12, 22, 25, 64]
이와 같이 선택 정렬 알고리즘을 사용하여 주어진 배열을 오름차순으로 정렬할 수 있습니다.
728x90
반응형
'CS > 알고리즘' 카테고리의 다른 글
합병 정렬(Merge Sort) 알고리즘 파이썬 예제와 설명 (0) | 2023.05.10 |
---|---|
버블 정렬(Bubble Sort) 알고리즘 예제와 설명 (0) | 2023.05.10 |
퀵 소트(Quick Sort) 알고리즘 파이썬 예제와 설명 (0) | 2023.05.09 |
알고리즘 이진 탐색(Binary Search) 파이썬 예제 (0) | 2023.05.06 |