우리가 말하는 정렬이란... 주어진 자료를 특정한 순서대로 나열 하는 것으로 볼 수 있다. 오름차순, 내림차순이 그 대표적인 예이며 그 외에도 사용자의 입맛에 맛게 정렬을 시킬 수 있다. 우리가 프로그래밍에서 흔히 접할 수 있는 정렬 알고리즘은 다음과 같다. 첫번째든 마지막이든 하나의 원소를 선택하여 나머지 원소들과 비교하며 순서를 맞바꾸는 아주 단순 무식한 알고리즘이다. 시간 복잡도는 O(n^2)이며, 거품 정렬은 같은 O(n^2)급 알고리즘 중에서도 상당히 비효율적인 축에 속한다. 첫번째(혹은 마지막)원소를 기준으로 나머지 원소들과의 값을 비교하여 자신의 순서를 결정하는 알고리즘으로 코딩하기도 가장 수월하고 수행시간이 데이터 상태의 영향을 잘 받지 않고, 데이터의 대입 횟수가 적은 게 특징이다. 뭐 ..