BST는 각 노드가 최대 두 개의 자식(왼쪽, 오른쪽)을 가지는 트리이다. 아래와 같은 규칙을 갖는다.그러나 BST를 사용할 경우 데이터가 많아질수록 트리의 깊이(Depth)가 깊어지는 문제가 발생한다.(1) 균형이 잘 맞는 경우 (Balanced BST)데이터가 균형
P = NP 임이 증명되면 이 세계의 모든 암호체계가 무너진다?!P : 컴퓨터가 풀기 쉬운 문제의 집합NP : 컴퓨터가 검증하기 쉬운 문제의 집합그러면 "문제를 푼다"라는게 뭘까?= 정답을 구한다.정리하자면 NP는 풀기는 어려운데 검증하기는 쉬운 문제의 집합이다.예를
1. 동적 계획법(Dynamic Programming)이란? - 수학적 최적화 방법이자 컴퓨터 프로그래밍 기법
## 1. Divide and Conquer란? #### Divide and Conquer (분할 정복)는 문제 해결 전략 중 하나로, 다음의 세 가지 단계로 구성됩니다:
핵심 아이디어: "지금 당장 가장 좋아 보이는 것을 선택한다."매 단계마다 그 순간 가장 최적인(local optimum) 선택을 반복하여 전체적으로도 최적인(global optimum) 해답을 기대하는 방식적용 분야:최적화 문제(optimization problem)
문제의 정의와 개념에 기반한 직관적이고 직접적인 해결 방식대부분 문제 설명을 그대로 구현하는 형태적용 범위가 넓고 단순함정렬, 탐색, 행렬 곱, 문자열 매칭 등 중요한 문제에도 사용 가능비효율적인 경우가 많음느려서 실용성이 떨어질 수 있음다른 기법보다 구조적이지 않음목