Sorting (정렬)
본문 바로가기
Algorithm (C++ based)/Sorting

Sorting (정렬)

by 조훈이 2020. 11. 7.

// Sorting


   What is Sorting?   

임의로 나열되어있는 자료들을 일정한 기준에 따라 배열시키는 것이다.


   Example   

4 23 7 -3 9 15 -9 0 19 6

Q. 위에 나열된 수들을 오름차순으로 정렬하시오.

 

A. 정답은 아래와 같다.

-9 -3 0 4 6 7 9 15 19 23

   More about   

  위 문제에서 자료의 개수는 10개이며, 각 자료들에서 보여지는 수의 범위는 그렇게 크지않다. 그렇다면, 만약 자료의 개수가 1,000,000개이고 각 자료들의 종류나 크기의 범위가 정말 크다면  정렬을 하는것이 쉽지 않을 것이다.

  코딩의 Sorting algorithm에는 여러 종류가 있으며 각각 각자의 장단점을 지닌다. 그 예시로 <Counting sort>라는 Sorting algorithm을 들어보자. (자세한 내용은 아래에서 참고 가능하다) <Counting sort>는 자료의 개수는 많으나 자료들의 값의 범위가 크지 않을 때 유용한 Sorting algorithm이다. 예를 들어, 자료의 개수 n은 1,000,000 이지만 임의의 항 An 의 크기가 1,000 이하인 자연수인 경우라고 가정했을 때 유용하게 쓰일 수 있다.


Selection sort (선택 정렬) 바로가기

728x90

댓글