정렬되어 있는 데이터와 정렬되지 않은 데이터

거의 다 정렬되어 있는 데이터와 완전히 섞여있는 데이터

어떤 데이터가 나중에 추가될지 모르는 온라인 알고리즘

이렇게 데이터 종류마다 효율적인 알고리즘이 달라짐

예를 들어 같은 데이터에 탐색을 수십만번 하는 경우가 있다면

한번 정렬하고 이진 탐색 수십만번 하는게 훨씬 좋음


정렬 뿐만 아니라 이런식으로 생각하고 최적화 하는게 필요한 경우가 있음

내가 경험한 범위 안에서는 DB 인덱스 언제 어떤 칼럼으로 만들지 결정할때 필요했음

인덱스 만들면 탐색은 빨라지는데 삽입 수정 삭제가 느려짐

이런 최적화 중에 초심자가 배우기 가장 간단하면서 나중에 활용하기도 좋은게 정렬임