알고리즘/정렬

정렬(sort)이란

oCless 2021. 2. 15. 00:55

정렬(sort)이란 무질서하게 모여있는 데이터 집합을 특정한 기준으로 나열하는 것을 의미한다.

 

데이터 집합이란 커피 브랜드명(STARBUCKS, EDIYA, COFFEEBAY, Angel-in-us), 숫자 1~6(1, 5, 4, 3, 2, 6), 떡볶이 브랜드명(동대문엽기떡볶이, 죠스떡볶이, 걸잘떡볶이치킨, 신전떡볶이) 등 정해진 기준(커피 브랜드명, 숫자 1~6, 떡볶이 브랜드명)에 부합하는 데이터를 모아 놓은것을 말한다.

 

기준은 2가지 이다. 작은 것에서 큰 것 순서대로 나열하면 오름차순(Ascending)이라고 하고, 반대로 큰 것에서 작은 것 순서대로 나열하면 내림차순(Descending)이라고 한다.

 

오름차순으로 나열하게되면 아래와 같이 표현되고

 

 - 숫자 1~6

   (1, 5, 4, 3, 2, 6)

   -> (1, 2, 3, 4, 5, 6)

 

 - 떡볶이 브랜드명

   (동대문엽기떡볶이, 죠스떡볶이, 걸잘떡볶이치킨, 신전떡볶이)

   -> (동대문엽기떡볶이, 걸잘떡볶이치킨, 신전떡볶이, 죠스떡볶이)

 

 - 커피 브랜드명

  (STARBUCKS, EDIYA, COFFEEBAY, Angel-in-us)

   -> (Angel-in-us, COFFEEBAY, EDIYA, STARBUCKS)

 

반대로 내림차순으로 나열하게 되면 아래와 같이 표현된다.

 

 - 숫자 1~6

   (1, 5, 4, 3, 2, 6)

  -> (6, 5, 4, 3, 2, 1)

 

 - 떡볶이 브랜드명

   (동대문엽기떡볶이, 죠스떡볶이, 걸잘떡볶이치킨, 신전떡볶이)

   -> (죠스떡볶이, 신전떡볶이, 걸잘떡볶이치킨, 동대문엽기떡볶이)

 

 - 커피 브랜드명

  (STARBUCKS, EDIYA, COFFEEBAY, Angel-in-us)

   -> (STARBUCKS, EDIYA, COFFEEBAY, Angel-in-us)

 

오름차순의 정렬 기준은 숫자는 1, 2, 3... 한글은 ㄱ, ㄴ, ㄷ, ㄹ... 영어는 A, B, C, D... 순으로 나열이 되고, 내림차순의 경우는 역순으로 나열된다.

 

 

정렬방법은 실행 방법정렬하는 장소에 따라 나누어 진다.

 

실행방법

비교식 정렬(Comparative Sort) 두개의 데이터를 비교하여 정렬하는 방식
분배식 정렬(Distribute sort) 데이터를 여러개로 분리하여 분리된 데이터를 정렬하는 방식

정렬장소

내부정렬(Internal Sort) 메모리에서 정렬
외부정렬(External Sort) 보조기억장치에서 정렬

 

내부정렬의 경우 메모리에서 처리하기때문에 정렬의 속도는 빠르지만, 정렬할 수 있는 데이터의 양은 제한적이다.

외부정렬의 경우 보조기억장치에서 정렬을 수행하기 때문에 정렬 속도는 떨어지지만, 다량의 데이터를 정렬할 수 있다.

반응형