TimSort의 단점이 뭘까요?

조회수 303회

코테 도중 시간복잡도를 측정하고자 Tim Sort에 대해 공부해보았고 이에 대해 정리하고 있는데요 내가 이걸 언제 어떻게 왜 쓰는지 정리하고 있었습니다. 그런데 단점에 대해서 쓸만한 내용을 찾지도 못 하고, 생각도 나질 않네요

시간도 다른 정렬에 비해 월등히 우수하고, 메모리도 O(n)으로 준수한데요. Run에 대해 내부적으로 Insertion Sort가 진행된다는 것 외에는 단점(?)을 찾지 못 하겠습니다.

혹시 TimSort의 단점은 뭐라고 생각하시나요?

1 답변

  • 말씀해주신 대로 시간 상의 단점은 없다시피합니다.

    다만, (배열의 메모리 사용량을 제외하고, 알고리즘이 추가로 사용하는) 메모리 사용량 O(N)은 Quicksort의 O(log N)보다는 비효율적입니다.

    굳이 따지자면 구현 상의 복잡함 정도도 단점으로 볼 수 있겠습니다만, Timsort를 고려할 정도라면 그런 단점은 의미가 없을 것 같습니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)