목록전체 글 (298)
\(@^0^@)/

- 유데미 알고리즘 자료 구조 소개 어떤 자료구조를 사용할까? 지도 혹은 위치 정보 관련 작업 => 그래프 어레이지만 앞단으로 신속하게 삽입할 수 있고 끝단에서 쉽게 제거할 수 있는 정렬된 리스트가 필요하다면? => 연결 리스트 연결된 HTML을 걷어내는 웹 작업 혹은 항공사나 호텔의 웹사이트로부터 데이터를 걷어내는 작업 => 트리 우선순위의 태스크들을 작성하는 스케줄러를 작성해야 한다면? => 이진 힙 또는 우선순위 큐 JS에서의 클래스 문법은 기본적으로 진정한 객체 지향이 아니라, 프로토타입 기반 상속자 혹은 프로토타이핑이라 불리는 무엇인가를 이용하는 것이다 클래스들은 인스턴스로 알려진 객체를 생성하기 위한 청사진이며 이런 클래스들은 "new"키워드를 통해 생성되거나 인스턴스화 된다. 생성자 함수는 ..

- 유데미 알고리즘 정렬 각 정렬의 성능 측정 /* 각 sort 성능측정 */ let max = 30000; let arr = []; for (let i = 0; i < max; i++) { arr.push(Math.random() * max); } function benchmark(arr, callback) { let start = Date.now(); callback(arr); return Date.now() - start; } let array = [...arr]; console.log(benchmark(array,quickSort) + "ms") // 27ms console.log(benchmark(array,mergeSort) + "ms") // 37ms console.log(benchmark(..

- 유데미 알고리즘 정렬 function pivot(arr, start = 0, end = arr.length-1) { const swap = (arr, idx1, idx2) => { [arr[idx1], arr[idx2]] = [arr[idx2], arr[idx1]]; } let pivot = arr[start]; let swapIdx = start; for(let i = start + 1; i arr[i]) { swapIdx++; swap(arr, swapIdx, i); } } swap(arr, start, swapIdx); return swapIdx; } function quickSort(arr, left = 0, right = arr.length-1) { if(left < right) { let ..