어떤 문제를 해결할 때 정렬 여부가 큰 영향을 미치는 경우가 있다.
정렬이 되어 있으면 훨씬 간단하고 효율적으로 풀 수 있게 되는 것이다.
예를 들면 아래와 같은 경우 매우 유용하다.
단, 정렬을 하는데에도 비용이 들기 때문에 정렬로 얻을 수 있는 이점이 비용보다 클 것인지를 따져보고 적용해야한다.
정렬 알고리즘은 여러가지가 있다.
언어마다 정렬을 해주는 메소드가 존재한다. 자바스크립트에서는 sort() 메소드가 있고 파이썬에도 sort()와 sorted()가 있다. 내장 메소드만으로 정렬이 가능한데 왜 여러 종류의 정렬 알고리즘을 알아야 하는것일까?
그 이유는 내장 메소드의 정렬 알고리즘이 늘 최선의 퍼포먼스를 보장하지는 않기 때문이다.
데이터의 양이나 상황에 따라 적합한 정렬 알고리즘을 직접 구현하여 사용하는 것이 더 높은 효율을 낼 수 있다.