버블 정렬은 실제로는 거의 쓸 일이 없습니다. 다만 코드가 간단하기 때문에 정렬 연습에 좋기도 하고, 시간복잡도를 배우는 데에도 기초 알고리즘으로 좋습니다.
삽입 정렬도 그 자체로는 그다지 쓰일 일이 없지만, 원소의 수가 매우 적은 경우에는 웬만한 "시간복잡도상 효율적인" 알고리즘들보다 빠르기 때문에 작은 범위에 대해서만 삽입 정렬을 수행하는 방식으로 효율적인 알고리즘을 변형해서 쓰이는 일이 많습니다. (하지만 이런 건 진.짜.겁.나.어.렵.습.니.다)
문제를 풀 때는 그냥 merge sort, heap sort 또는 피벗 선택을 매우 매우 잘 하는 quick sort 등을 사용하거나, 그냥 내장 라이브러리에 있는 정렬 함수를 쓰면 됩니다.
injoon2018 5년 전
질문 게시판 보니 merge sort?를 사용하라고 하네요 nlogn 정렬을 사용해야하는데..
그렇다면 버블정렬, 삽입정렬 이런 것들은 그냥 학습용 정렬인가요??