logo

정렬 알고리즘

정렬은 배열의 요소를 오름차순이나 내림차순으로 배치할 수 있도록 배열하는 프로세스입니다. 예를 들어 배열 A = {A1, A2, A3, A4, ?? }, A의 요소가 A1 > A2 > A3 > A4 > A5 > ? > 안.

배열을 고려해보세요.

정수 A[10] = { 5, 4, 10, 2, 30, 45, 34, 14, 18, 9 )

오름차순으로 정렬된 배열은 다음과 같이 제공됩니다.

A[] = { 2, 4, 5, 9, 10, 14, 18, 30, 34, 45 }

정렬을 수행할 수 있는 많은 기술이 있습니다. 튜토리얼의 이 섹션에서는 각 방법을 자세히 설명합니다.

정렬 알고리즘

정렬 알고리즘은 설명과 함께 다음 표에 설명되어 있습니다.

SN 정렬 알고리즘 설명
1 버블정렬 가장 큰 요소를 배열의 가장 높은 인덱스로 반복적으로 이동하여 정렬을 수행하는 가장 간단한 정렬 방법입니다. 이는 각 요소를 인접한 요소와 비교하고 그에 따라 교체하는 것으로 구성됩니다.
2 버킷 정렬 버킷 정렬은 빈 정렬이라고도 합니다. 버킷이라고도 하는 배열에 요소를 배포하는 방식으로 작동합니다. 이 정렬 알고리즘에서는 버킷이 다른 정렬 알고리즘을 사용하여 개별적으로 정렬됩니다.
빗 정렬 Comb Sort는 Bubble Sort의 발전된 형태입니다. 버블 정렬은 인접한 모든 값을 비교하는 반면, 빗 정렬은 목록 끝 부분에 있는 모든 거북이 값 또는 작은 값을 제거합니다.
4 계산 정렬 이는 키를 기반으로 한 정렬 기술입니다. 즉, 작은 정수인 키에 따라 객체를 수집합니다. Counting Sort는 객체의 발생 횟수를 계산하고 해당 키 값을 저장합니다. 이전 키 요소를 추가하고 개체에 할당하여 새 배열이 형성됩니다.
5 힙 정렬 힙 정렬에서는 선택에 따라 배열 요소를 기준으로 최소 힙 또는 최대 힙을 유지하고 힙의 루트 요소를 삭제하여 요소를 정렬합니다.
6 삽입 정렬 이름에서 알 수 있듯이 삽입 정렬은 배열의 각 요소를 적절한 위치에 삽입합니다. 브리지 게임을 할 때 카드 덱을 정렬하는 데 사용되는 매우 간단한 정렬 방법입니다.
7 병합 정렬 병합 정렬은 먼저 목록을 동일한 요소의 집합으로 나눈 다음 병합 정렬을 사용하여 목록의 각 절반을 정렬하는 분할 정복 접근 방식을 따릅니다. 정렬된 목록은 다시 결합되어 기본 정렬 배열을 형성합니다.
8 빠른 정렬 퀵 정렬은 O(n log n) 비교로 정렬을 수행하는 가장 최적화된 정렬 알고리즘입니다. 병합 정렬과 마찬가지로 빠른 정렬도 분할 및 정복 접근 방식을 사용하여 작동합니다.
9 기수 정렬 기수 정렬에서는 알파벳 순서에 따라 이름을 정렬하는 것처럼 정렬이 수행됩니다. Inegers에 사용되는 선형 정렬 알고리즘입니다.
10 선택 정렬 선택 정렬은 배열에서 가장 작은 요소를 찾아 목록의 첫 번째 위치에 배치한 다음, 배열에서 두 번째로 작은 요소를 찾아 두 번째 위치에 배치합니다. 이 프로세스는 모든 요소가 올바른 순서로 이동될 때까지 계속됩니다. 삽입 정렬보다 최악인 실행 시간 O(n2)을 수행합니다.
열하나 쉘 정렬 쉘 정렬은 여러 위치의 간격으로 분리된 요소를 비교하여 삽입 정렬의 단점을 극복하는 삽입 정렬의 일반화입니다.