
자식노드의 특성을 부모노드에 두는 것으로 한 배열에서 여러 구간의 최댓값, 최솟값, 합등을 구할 때 사용되는 것으로 전체를 탐색하는 시간보다 시간복잡도를 줄일 수 있습니다. 또한 누적합과는 다르게 배열의 요소 중 일부를 수정하더라도 사용할 수 있습니다.간단한 문제에서

LinkedList를 평소 사용하던 중 ArrayDeque을 알게되고 이 차이를 비교해서 작성한 글입니다.

필자는 Hash보다 Tree를 선호하는데 Hash는 데이터나 해시함수에 따라 성능 격차가 생기며 이는 코드를 작성하는 사람이 대부분 제어할 수 없는 영역이 많기 때문이다. 하지만 TreeMap과 TreeSet을 사용하면서 알 수 없는 오류가 발생하였습니다

간단한 설명을 위해 변경되는 배열의 구간합 구하기 문제정도로 예시를 들어 설명드리겠습니다.영어로 Dynamic Segment Tree 즉 값의 수정됨에 따라 동적으로 세그먼트 트리의 모양이 변하는 것을 의미합니다.기존 세그먼트 트리보다 효율적으로 메모리를 사용하기 위해

B-트리를 변형한 변형 B-트리라는 자료구조가 몇 존재한다.B-트리에서 파생되어 기본적인 B-트리의 구조인 분할/병합을 통한 균형 유지, 탐색, 삭제등의 로직은 같다.B-트리를 구현하는 과정에서 동시성 제어 방식과 디스크 페이지 구조, 형제 노드 사이의 링크, 유지보수

LSM 트리는 쓰기 성능 최적화를 위한 트리 기반 인덱싱 구조로, 로그 구조 병합 트리라는 이름을 갖습니다. 이 글에서는 LSM 트리의 개념, 구조, 구성 요소, 그리고 쓰기 최적화를 위한 다양한 방식들을 정리합니다.Log-Structured Merge Tree는 데이