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

자바스크립트 정렬 알고리즘 9 : 활용 사례

by soldonii 2019. 11. 5.

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

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


언제 어떤 정렬 알고리즘을 사용하면 좋을지, 간단한 예시로 알아보자. 아래 대답은 Andrei의 의견이며 정답은 아닐 수 있다.

//#1 - Sort 10 schools around your house by distance:
insertion sort
input된 dataset의 크기가 무척 작기 때문에 Insertion Sort가 가장 빠르고, 공간복잡도도 효율적이다.

//#2 - eBay sorts listings by the current Bid amount:
radix or counting sort
bid는 숫자형 데이터이고, 대부분 정수일 가능성이 높으므로 Radix 또는 Counting Sort를 사용하면 좋다.

//#3 - Sort scores on ESPN
Quick sort
Quick, Merge Sort 크게 상관 없지만, 공간복잡도가 부담될 수 있을 것 같아 Quick을 사용한다.

//#4 - Massive database (can't fit all into memory) needs to sort through past year's user data
Merge Sort
1) Dataset의 크기가 방대하고, 2) 또 메모리 외부에서 작업하게 되므로 Merge Sort가 최적이다.

//#5 - Almost sorted Udemy review data needs to update and add 2 new reviews
Insertion Sort
대량의 데이터이지만, 거의 정렬이 되어있기 때문에 Insertion Sort를 사용한다.

//#6 - Temperature Records for the past 50 years in Canada
radix or counting Sort
Quick sort if decimal places
Radix나 Counting을 사용할 수 있지만, 온도의 경우 소수점도 포함될 수 있으므로 그럴 땐 Quick Sort.

//#7 - Large user name database needs to be sorted. Data is very random.
Quick sort
Merge sort도 무관하다.

 

댓글