선택정렬(2)
-
선택 정렬 (Selection Sort) (C++)
선택 정렬 (Selection Sort)선택 정렬은 정렬되지 않은 데이터 중에서 가장 작은 값(또는 큰 값)을 선택하여 정렬된 부분의 맨 뒤에 추가하는 방식으로 동작하는 정렬 알고리즘. 간단하지만 비효율적이기 때문에 작은 데이터셋에서 주로 사용.동작 원리배열의 첫 번째 요소부터 마지막 요소까지 순차적으로 접근.현재 범위에서 가장 작은 값(또는 큰 값)의 인덱스를 찾는다.해당 값을 현재 범위의 첫 번째 요소와 교환.위 과정을 배열 전체에 대해 반복.특징시간 복잡도:최악/평균/최선: O(n^2)공간 복잡도: O(1) (추가 메모리 사용 없음)비교 횟수: 항상 n(n−1)/2번의 비교가 발생.비교 기반 정렬: 데이터의 크기를 비교하여 정렬.비안정적 정렬: 동일한 값의 상대적인 순서가 바뀔 수 있다.예제 코드 ..
2025.01.04 -
정렬 (C++)
1. 정렬 (Sorting)정렬은 데이터를 특정 기준에 따라 순서대로 배열하는 작업.정렬 알고리즘의 주요 개념비교 기반 정렬: 데이터 간의 크기를 비교하여 순서를 정한다.안정적 정렬 (Stable Sort): 동일한 값이 있을 때, 원래 순서를 유지하는 정렬 방식. 예를 들어, 나이순으로 정렬하면서 이름순을 유지해야 할 때 안정적 정렬이 필요.시간 복잡도: 정렬 알고리즘의 효율성을 나타내는 척도. (https://gangdonggil.tistory.com/80)최선, 평균, 최악의 경우에 따라 다를 수 있다.기본 정렬 알고리즘버블 정렬 (Bubble Sort) (https://gangdonggil.tistory.com/84)동작 원리: 인접한 두 개의 데이터를 비교하여 크기가 작은 값을 앞으로 보내는 방..
2025.01.04