
이 글은 세그먼트 트리를 한번 쯤은 써본 사람들을 기준으로 작성하였습니다.그래도 기본 개념부터 핵심 코드 설명까지 꽤나 자세하게 작성하였습니다. 또 어떤 점에서 이득이 있는지, 응용을 어떻게 하는지, 어떤 문제에 적용할 수 있는지 등 전체적으로 정리하는 느낌으로 써봤습

자바 컬렉션(Collection) 중 하나로, 이진 탐색 트리의 구조와 특징을 가지고 있다.이진 탐색 트리(Binary Search Tree)는 하나의 부모 노드가 최대 두 개의 자식 노드를 가질 수 있는 트리이다. 왼쪽 자식 노드에는 부모 노드보다 작은 값만 들어가며

레드-블랙 트리는 이진 탐색 트리의 하나로 일반적인 이진 트리와의 가장 큰 차이점은 “좌우 균형을 유지하는 이진 검색 트리”라는 점이다. 일반적인 이진 검색 트리의 경우 한 쪽으로 치우진 경우 트리의 높이가 최악의 경우에 N이기 때문에 시간복잡도가 O(N)까지 높

Lazy Propagation 알고리즘은 한국말로는 “느리게 갱신되는 세그먼트 트리”라고 불리는데요, 세그먼트 트리의 응용 알고리즘 중 하나입니다. 말 그대로 게으르게(Lazy) 전파(Propagation)한다는 의미를 가지고 있습니다. 게으르다는건 일을 미룬다는 뜻이

동적계획법(Dynamic Programming, DP)의 정의는 복잡한 문제를 간단한 여러 개의 문제로 나누어 푸는 방법을 말한다. 즉, 문제에서 요구하는 정답을 구하기 위해 문제를 여러 개의 하위 문제로 나누어서 푸는 방법을 말한다.

다익스트라 알고리즘은 음의 가중치(음의 간선, 음의 값)가 없는 그래프의 한 노드에서 각 모든 노드까지의 최단경로를 구하는 알고리즘입니다.