본문으로 건너뛰기

버그 제보

이상한 점을 알려 주시면 고칠게요. 지금 보고 있는 페이지와 브라우저 정보가 함께 담겨요.

페이지:

Algorithm

JavaScript 알고리즘: 수학과 조합

추가
목차4개 항목
출처와 참고

Oleksii Trekhleb의 공개 저장소 「JavaScript Algorithms and Data Structures」를 주제별로 재구성한 노트다.

수학과 집합 문제의 차이

수학 알고리즘은 수의 성질·계산식을 활용해 연산량을 줄인다. 집합과 조합 알고리즘은 해를 표현하는 경우의 수가 커질 때 탐색 범위를 어떻게 줄일지가 핵심이다.

패턴적용 이유
나머지 연산·소수 판정수론 문제의 계산 단축
빠른 거듭제곱반복 제곱으로 지수 크기 비용을 감소
조합 생성중복 허용 여부와 순서 제약 구분
DP같은 부분 문제가 반복될 때 결과 재사용
FFT/DFT신호·다항식 등을 주파수 영역에서 다루는 기반

항목별 요약과 구현

Math

항목수준핵심 개념코드·설명
Bit Manipulation기초마스크와 비트 이동으로 상태를 조작원본
Binary Floating Point기초부동소수점의 이진 표현과 근사 오차원본
Factorial기초계승과 조합의 기초원본
Fibonacci Number기초점화식·반복·근사식 비교원본
Prime Factors기초소인수분해원본
Primality Test기초수의 소수 여부 검사원본
Euclidean Algorithm기초나머지를 반복해 최대공약수 계산원본
Least Common Multiple기초최소공배수 계산원본
Sieve of Eratosthenes기초범위 내 소수를 체로 걸러냄원본
Is Power of Two기초2의 거듭제곱 판정원본
Pascal's Triangle기초이항계수의 삼각형 관계원본
Complex Number기초복소수의 표현과 연산원본
Radian & Degree기초각도 단위 변환원본
Fast Powering기초제곱을 재사용하는 빠른 거듭제곱원본
Horner's method기초다항식을 중첩해 계산량 축소원본
Matrices기초행렬 표현과 기본 연산원본
Euclidean Distance기초점·벡터 사이 거리원본
Integer Partition심화정수를 양의 정수 합으로 분해하는 경우의 수원본
Square Root심화뉴턴 방법에 의한 제곱근 근사원본
Liu Hui π Algorithm심화내접 다각형으로 원주율 근사원본
Discrete Fourier Transform심화시계열을 주파수 성분으로 분해원본

Sets

항목수준핵심 개념코드·설명
Cartesian Product기초집합 원소의 순서쌍 생성원본
Fisher–Yates Shuffle기초편향 없는 균등 무작위 섞기원본
Power Set심화집합의 모든 부분집합 생성원본
Permutations심화순서 있는 배열 생성원본
Combinations심화순서 없는 원소 선택원본
Longest Common Subsequence심화연속하지 않아도 되는 최장 공통 부분수열원본
Longest Increasing Subsequence심화최장 증가 부분수열원본
Shortest Common Supersequence심화두 수열을 모두 부분수열로 포함하는 최단 수열원본
Knapsack Problem심화용량 제약 속 최대 가치 선택원본
Maximum Subarray심화연속 부분 배열의 최대 합원본
Combination Sum심화목표 합을 만드는 조합 열거원본

관련 노트: 비트 연산, 정수론, 순열과 조합, 동적 계획법, 푸리에 변환

원본 기록2

댓글

GitHub 계정으로 댓글을 남길 수 있어요.