본문 바로가기
  • soldonii's devlog
Javascript 공부/Data Structure + Algorithms(-)

자바스크립트 정렬 알고리즘 7 : 언제, 어떤 정렬 알고리즘을 사용해야 할까?

by soldonii 2019. 11. 4.

*Udemy의 "Master the Coding Interview : Data Structures + Algorithms" 강의에서 학습한 내용을 정리한 포스팅입니다.

*자바스크립트를 배우는 단계라 오류가 있을 수 있습니다. 틀린 내용은 댓글로 말씀해주시면 수정하겠습니다. 감사합니다. :)


# Insertion Sort(삽입 정렬)

1) dataset의 크기가 작을 때

2) dataset이 거의 정렬이 되어 있을 때

 

# Merge Sort(합병 정렬)

1) dataset이 아주 방대한 크기인데 내 컴퓨터 메모리의 외부에서 정렬을 수행할 수 있을 경우, Merge Sort의 유일한 단점인 공간복잡도 문제가 해결될 수 있으므로 사용하기에 최적인 상황이다.

2) dataset의 정확도가 의심되거나, 적절한 pivot element를 찾기 어려운 경우 Quick Sort 대신 Merge Sort를 활용하면 좋다.

(Andrei가 가장 선호하는 정렬 방식이다.)

 

# Quick Sort(퀵 정렬)

1) dataset이 방대할 때, pivoting을 적절히 선정할 수 있다면 Merge Sort보다 Quick Sort가 시간/공간적으로 더 효율적이므로 사용하면 좋다.

 

댓글