본문 바로가기

알고리즘/개념

[알고리즘] 정렬(sort)이란??

* 정렬 알고리즘이란?


n개의 숫자가 입력으로 주어졌을 때, 사용자가 원하는 대로 크기 순으로 정렬하는 것이다.



* 정렬 방식


정렬에는 보통 오름차순과 내림차순 두 가지 방식이 존재한다.


=> 오름차순 : 작은 수부터 점차 큰 수 순서대로 정렬 


=> 내림차순 : 큰 수부터 점차 작은 수 순서대로 정렬



* 정렬은 구현 및 시간복잡도 등 디테일 하게 아는 것이 중요하다.


=> 위 사항을  알아야 하는 이유?


단순히 정해진 알고리즘에 정해진 코드를 짜는 사람이 아니라, 주도적으로 코드의 알고리즘 설계, 분석 / 문제점 파악 등을 명확히 하려면,


아래의 정렬 정도는 손쉽게 짜고, 시간복잡도 또한 분석할 줄 알아야 한다고 생각합니다.



또한, 초기에 어떤 순서대로 되어있느냐에 따라, 정렬 시간이 달라집니다.



* 정렬의 종류


- 선택정렬(selection sort)


- 삽입정렬(insertion sort)


- 버블정렬(bubble sort)


- 합병정렬(merge sort)


- 퀵 정렬(quick sort)



'알고리즘 > 개념' 카테고리의 다른 글

[알고리즘] Binary Search란?  (0) 2018.08.22
[알고리즘/시간복잡도] log이란??  (0) 2018.08.21