* 정렬 알고리즘이란?
n개의 숫자가 입력으로 주어졌을 때, 사용자가 원하는 대로 크기 순으로 정렬하는 것이다.
* 정렬 방식
정렬에는 보통 오름차순과 내림차순 두 가지 방식이 존재한다.
=> 오름차순 : 작은 수부터 점차 큰 수 순서대로 정렬
=> 내림차순 : 큰 수부터 점차 작은 수 순서대로 정렬
* 정렬은 구현 및 시간복잡도 등 디테일 하게 아는 것이 중요하다.
=> 위 사항을 알아야 하는 이유?
단순히 정해진 알고리즘에 정해진 코드를 짜는 사람이 아니라, 주도적으로 코드의 알고리즘 설계, 분석 / 문제점 파악 등을 명확히 하려면,
아래의 정렬 정도는 손쉽게 짜고, 시간복잡도 또한 분석할 줄 알아야 한다고 생각합니다.
또한, 초기에 어떤 순서대로 되어있느냐에 따라, 정렬 시간이 달라집니다.
* 정렬의 종류
- 선택정렬(selection sort)
- 삽입정렬(insertion sort)
- 버블정렬(bubble sort)
- 합병정렬(merge sort)
- 퀵 정렬(quick sort)
'알고리즘 > 개념' 카테고리의 다른 글
[알고리즘] Binary Search란? (0) | 2018.08.22 |
---|---|
[알고리즘/시간복잡도] log이란?? (0) | 2018.08.21 |