TIL 81 | 정렬(1) : 알고리즘 종류를 알아야하는 이유

Gom·2021년 6월 3일
0

Algorithm

목록 보기
38/48
post-thumbnail

정렬이 필요한 이유

어떤 문제를 해결할 때 정렬 여부가 큰 영향을 미치는 경우가 있다.
정렬이 되어 있으면 훨씬 간단하고 효율적으로 풀 수 있게 되는 것이다.
예를 들면 아래와 같은 경우 매우 유용하다.

  • 분포도의 중위값을 알아내고자 할 때
  • 데이터에서 중복값을 잡아내고 싶을 때
  • 이진 탐색을 할 때

단, 정렬을 하는데에도 비용이 들기 때문에 정렬로 얻을 수 있는 이점이 비용보다 클 것인지를 따져보고 적용해야한다.

정렬 알고리즘의 종류

정렬 알고리즘은 여러가지가 있다.

  • 버블정렬 (Bubble Sort)
  • 선택정렬 (Select Sort)
  • 삽입정렬 (Insertion Sort)
  • 병합정렬 (Merge Sort)
  • 퀵 정렬 (Quick Sort)

정렬 방식들을 알아야하는 이유

언어마다 정렬을 해주는 메소드가 존재한다. 자바스크립트에서는 sort() 메소드가 있고 파이썬에도 sort()와 sorted()가 있다. 내장 메소드만으로 정렬이 가능한데 왜 여러 종류의 정렬 알고리즘을 알아야 하는것일까?

그 이유는 내장 메소드의 정렬 알고리즘이 늘 최선의 퍼포먼스를 보장하지는 않기 때문이다.
데이터의 양이나 상황에 따라 적합한 정렬 알고리즘을 직접 구현하여 사용하는 것이 더 높은 효율을 낼 수 있다.

profile
안 되는 이유보다 가능한 방법을 찾을래요

0개의 댓글