정렬 알고리즘은 데이터를 특정한 순서대로 재배치하기 위한 알고리즘이다.
데이터가 있을 때 일정한 기준으로 오름차순이나 내림차순으로 정렬하거나 특별한 기준에 떄라 재정렬하는 것이
목적이다. 정렬 알고리즘에는 다양한 방식이 있고 그에 따라 성능과 특성이 다르다.
1. 버블 정렬: 인접한 두 원소를 비교하여 필요에 따라 서로 교환하는 방식으로 동작합니다. 배열을 한 번 순회할때 마다 가장 큰 원소가 배열의 마지막으로 이동합니다.
2. 선택 정렬: 배열에서 가장 작은 원소를 찾아 배열의 맨 앞으로 이동시키는 방식입니다. 배열의 길이만큼 반복하여 정렬을 완성한다.
3. 삽입정렬: 배열을 정렬된 부분과 정렬되 않은 부분으로 나누고, 정렬되지 않은 부분의 원소를 정렬된 부분에 삽입하는 방식입니다.
4. 퀵 정렬: 분할 정복 알고리즘의 일종으로 기준원소를 선택하고 기준보다 작은 원소들은 왼쪽, 큰 원소들은 오른쪽으로 분할하여 재귀적으로 정렬합니다.
5. 병합 정렬: 마찬가지로 분할 정복 알고리즘의 일종으로 배열을 반으로 나눈 뒤 각각을 재귀적으로 정렬하고, 정렬된 배열들을 합병하여 전체 배열을 정렬합니다.
6. 힙 정렬: 최대 힙 또는 최소 힙을 구성하고, 힙에서 가장 큰 원소를 반복적으로 추출하여 정렬하는 방식으로 동작합니다.
각 정렬 알고리즘은 장단점이 있으며, 데이터의 크기나 구성에 따라 성능이 다를 수 있어 상황에 따라 알맞은 알고리즘을 선택하는 것이 중요합니다.