*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도 무관하다.
'Javascript 공부 > Data Structure + Algorithms(-)' 카테고리의 다른 글
자바스크립트 검색 알고리즘 2 : Breadth First Search (0) | 2019.11.07 |
---|---|
자바스크립트 검색 알고리즘 1 : Linear Search, Binary Search (0) | 2019.11.07 |
자바스크립트 정렬 알고리즘 8 : Radix Sort, Counting Sort (0) | 2019.11.05 |
자바스크립트 정렬 알고리즘 7 : 언제, 어떤 정렬 알고리즘을 사용해야 할까? (0) | 2019.11.04 |
자바스크립트 정렬 알고리즘 6 : Quick Sort (0) | 2019.11.04 |
댓글