본문 바로가기

Algorithm5

[Quick Sort] Quick Select Quck sort, Quick Select Quick Sort function quickSortWidthEndPivot(arr, start, end) { if (start >= end) { return arr; } let left = start; let right = end - 1; let pivot = end; while (left arr[pivot] && high < arr[pivot]) { swap(arr, left, right); } if (low = arr[pivot]) right--; } swap(arr, left, pivot); pivot = left; // renew pivot position for next process quickSortWidthEndPivot(arr, start, pi.. 2023. 1. 7.
[Counting sort] 계수정렬 Counting sort const MAX_NUM = 10000; const MAX_SIZE = 10000; function countingSort(numbers) { let maxNum = -Infinity; for (const n of numbers) { if (n 2023. 1. 1.
[subset] find all subsets Number of Subsets of a given Set: If a set contains ‘n’ elements, then the number of subsets of the set is 2n. Number of Proper Subsets of the Set: If a set contains ‘n’ elements, then the number of proper subsets of the set is 2n - 1. | If A = {p, q} the proper subsets of A are [{ }, {p}, {q} with loop const nums = [1, 2, 3]; const subsets = [[]]; function findSubsets(subsets, nums, currentSet,.. 2022. 12. 25.
[BST] Construct binary search tree methods :: insert, contains, remove(delete) BST definition BST class BST { constructor(value) { this.value = value; this.left = null; this.right = null; } insert(value) { let currentNode = this; while (currentNode !== null) { if (currentNode.value > value) { if (currentNode.left === null) { currentNode.left = new BST(value); } else { currentNode.left.insert(value); } } else { if (currentNode.right === null) { currentNode.right = new BST(v.. 2022. 7. 4.
시작: 어차피 한 번은 끝장을 봐야 한다 목표 알고리즘 문제를 보고 필요한 자료 구조, 알고리즘, 문제 해결 전략을 떠올리고 코딩할 수 있다. 목적 글로벌 IT 기업 코딩 테스트, 인터뷰 알고리즘을 흥미를 가지고 이어갈 수 있는 기초 함양 생각을 코드로 표현할 수 있는 능력 향상 종만북, 프로그래밍 대회에서 배우는 알고리즘 문제 해결 전략 백준 Ranker에게 과외 Corsera Algorithm part 1, Princeton University AlgoExpert 160 Coding Interview Questions 2022. 7. 2.