정렬 알고리즘 기초 지식
01. 정렬이 필요한 이유
- 정렬은 자료 탐색에 있어서 필수적이다.
02. 정렬 알고리즘을 평가하는 효율성의 기준
- 비교 연산의 횟수
- 이동 연산의 횟수
03. 제자리 정렬 (in-place sorting)
- 입력 배열 이외에 다른 추가 메모리(추가 배열)를 요구하지 않는 정렬 방법
04. 종류
- 단순하지만 비효율 : 삽입, 선택, 거품
- 복잡하지만 효율 : 퀵, 힙, 합병, 기수
05. 안정 정렬 VS 불안정 정렬
- 정렬의 안정적 특성
- 정렬되지 않은 상태에서 같은 키값을 가진 원소의 순서가 정렬 후에도 유지되는가
- 안정 정렬
- 정렬 후 순서 유지됨
- 불안정 정렬
- 정렬 후 순서 유지를 보장할 수 없음
- 쉽게 말해, 값이 같은 레코드가 잇는 경우 상대적 위치가 변경될 수 있음
06. 참고
- C언어로 쉽게 풀어쓰는 자료구조 (천인국, 공용해, 하상호 지음)
- https://jinhyy.tistory.com/9
- https://godgod732.tistory.com/10