본문 바로가기
프로그래밍/C 언어(정리)

C언어] 정렬

by 곰나나 2024. 1. 2.

[정렬]

1. 정렬(sort)이란?
컴퓨터 과학 및 프로그래밍에서 중요한 알고리즘 중 하나로. 데이터 요소들을 특정 순서로 재배열하는 것을 의미한다. 정렬은 데이터를 효과적으로 관리하고 검색, 비교 등의 연산을 빠르게 수행하기 위해 필수적 이다.

 

임의의 자료 집합을 일정한 기준에 따라 나열하는 것. 보통 자료의 크기순으로 나열하는데 작은 것을 먼저 나열하는 것을 오름차순(Ascending) 정렬이라고 하고 큰 것을 먼저 나열하는 것을 내림차순(Descending) 정렬이라고 한다. 이때 크기라는 기준은 자료의 형태에 따라 다른데 수치라면 값이 큰 수를 크다고 판단하며 문자열은 문자 코드의 순서로 대소를 판단 한다.

 

2. 정렬(sort)종류 
버블 정렬(Bubble Sort) : 인접한 두 요소를 비교하여 순서가 잘못된 경우 교환하는 방식으로 동작한다..

선택 정렬(Selection Sort) : 주어진 리스트에서 최솟값을 찾아 맨 앞으로 이동시키는 작업을 반복하는 방식이다.

삽입 정렬(Insertion Sort) : 현재 원소를 정렬된 부분에 삽입하여 정렬하는 방식이다.

합병 정렬(Merge Sort) : 분할 정복(divide and conquer) 방법을 사용하여 리스트를 분할하고 병합하는 과정을 반복한다.

퀵 정렬(Quick Sort) : 분할 정복을 사용하는 또 다른 알고리즘으로, 피벗을 선택하고 피벗을 기준으로 리스트를 분할한다.

힙 정렬(Heap Sort) : 힙(Heap) 자료 구조를 사용하여 정렬하는 알고리즘이다.

기수 정렬(Radix Sort) : 정렬할 데이터의 자릿수를 기준으로 정렬하는 방식이다.

728x90

'프로그래밍 > C 언어(정리)' 카테고리의 다른 글

C언어] 검색-이진검색  (0) 2024.01.02
C언어] 검색-선형검색  (0) 2024.01.02
C언어] 트리  (0) 2024.01.02
C언어] 큐  (0) 2024.01.02
C언어] 스택  (0) 2024.01.01