본문 바로가기
코딩테스트/이코테

[CH6 정렬] 기준에 따라 데이터를 정렬 (1)

by 의정부핵꿀밤 2021. 12. 29.
728x90

연속된 데이터를 기준에 따라서 정렬하기 위한 알고리즘


 

정렬 알고리즘 개요

정렬(Sorting)이란 데이터를 특정한 기준에 따라서 순서대로 나열하는 것을 말한다

프로그램에서 데이터를 가공할 때 오름차순이나 내림차순 등 대부분 어떤 식으로든 정렬해서 사용하는 경우가 많기 때문에 정렬 알고리즘은 프로그램을 작성할 때 가장 많이 사용되는 알고리즘 중 하나다

정렬 알고리즘으로 데이터를 정렬하면 이진 탐색(Binary Search)이 가능해진다 -> 뒤에서 배움

수많은 정렬 알고리즘 중 여기서는 선택 정렬, 삽입 정렬, 퀵 정렬, 계수 정렬만 알아보자!

'정렬'에 대해 공부하면 알고리즘의 효율성을 쉽게 이해할 수 있게 된다

이는 코테에서도 중요하지만 면접에서도 자주 다루니까 확실하게 잡고 넘어가자!!

 

정렬할 카드들

위의 카드를 어떻게 정렬할 수 있을까?

사람이라면 슥 보고 숫자대로 정렬하겠지만, 컴퓨터에게는 쉽지 않다

 

따라서 이제부터 차례대로 정렬 알고리즘에 대해 알아보자

오름차순으로 정렬하는 경우만 배울것이고 내림차순은 반대로 수행하면 된다

또한 파이썬에서는 특정 리스트의 원소를 뒤집은 메소드(Reverse)를 제공하며, 이는 O(N)의 복잡도로 간단히 수행 가능하다!

728x90

댓글