본문 바로가기

반응형

코어/자료구조 & 알고리즘

(7)
[JavaScript 알고리즘] 정렬(Sorting) - 6. Radix Sort Radix Sort function getDigit(num, i) { return Math.floor(Math.abs(num) / Math.pow(10, i)) % 10; } function digitCount(num) { if(num === 0) return 1; return Math.floor(Math.log10(Math.abs(num))) + 1; } function mostDigits(nums) { let maxDigits = 0; for(let i = 0; i < nums.length; i++) { maxDigits = Math.max(maxDigits, digitCount(nums[i])); } return maxDigits; }
[JavaScript 알고리즘] 정렬(Sorting) - 5. Quick Sort Quick Sort function quickSort(arr, left = 0, right = arr.length - 1) { if(left { [arr[idx1], arr[idx2]] = [arr[idx2], arr[idx1]]; }; // pivot이..
[JavaScript 알고리즘] 정렬(Sorting) - 4. Merge Sort Merge Sort function mergeSort(arr) { if(arr.length arr1[i]) { results.push(arr1[i]); i++; } else { results.push(arr2[j]) j++; } } while (i < arr.length) { results.push(arr1[i]) i++; } while(j < arr2.length) { results.push(arr2[j]) j++; } return results; }
[JavaScript 알고리즘] 정렬(Sorting) - 3. Insertion Sort 여러분 호옥시 반장하셨거나 과대하셨거나, 아니면 선생님이시거나 하신 분들, 번호순서대로 과제 취합해보신 적 있으신가요? 일단 다 걷어놓고 1번부터 끝번호까지 정렬할 때, 우리는 Insertion Sort를 씁니다. Insertion Sort에 대해서 배워보겠습니다. https://visualgo.net/en/sorting VisuAlgo - Sorting (Bubble, Selection, Insertion, Merge, Quick, Counting, Radix) VisuAlgo is free of charge for Computer Science community on earth. If you like VisuAlgo, the only payment that we ask of you is for you..
[JavaScript 알고리즘] 정렬(sorting) - 2. Selection Sort https://visualgo.net/en/sorting VisuAlgo - Sorting (Bubble, Selection, Insertion, Merge, Quick, Counting, Radix) VisuAlgo is free of charge for Computer Science community on earth. If you like VisuAlgo, the only payment that we ask of you is for you to tell the existence of VisuAlgo to other Computer Science students/instructors that you know =) via Facebook, Twitter visualgo.net 여기에서 Selection ..
[JavaScript 알고리즘] 정렬(sorting) - 1. Bubble Sort 정렬을 왜 배워야돼요? - 정렬은 프로그래밍에서 매우 매우 흔한 작업입니다. 그래서 어떻게 작동하는 지 알 필요가 있어요. - 정렬하는 데는 아주 많은 방법들이 있습니다. 그리고 장단점이 각각 다르죠. 학습 목표 bubble sort를 구현하자 selection sort를 구현하자 insertion sort를 구현하자 더 간단한 sorting algoritnm들을 왜 배워야 하는지를 이해하자. 근데 자바스크립트에 sort 메서드 있어요! 맞아요. 근데 항상 네가 원하는대로는 정렬 안해줄걸요? 특히 숫자array.sort()를 하면 사전순으로 정렬해버려요. 25가 4보다 앞에 와버리는 일이 생기는거죠. 하지만 걱정마세요! Javascript 내장 sort 메서드는 comparator function을 인자..
[JavaScript 알고리즘] 탐색(Searching Algorithm) 학습목표 searching algorithm이 무엇인지 알자 배열 linear search를 구현하자 정렬된 배열에서 binary search를 구현하자 naive string search 알고리즘을 구현하자 우리 검색 어떻게 하더라? user가 Indiana를 찾고 싶어. -> 배열 요소를 하나씩 순회하면서 Indiana와 일치하는지 찾는다. 나쁜 접근은 아니에요 이게 linear search에요 자바스크립트에서는 indexOf includes find findIndex 등등의 메서드가 LInear search를 사용하죠 한 번에 한 요소를 체크하면서 요소를 순회하는 것이 linear search입니다. Linear Search 의사코드 array와 목표 value를 받는다 배열을 순회하면서 현재 요소..

반응형