728x90
반응형

고급자료구조 2

Suffix Tree

개요Suffix Tree(접미사 트리)는 문자열의 모든 접미사(suffix)를 트리 형태로 표현한 자료구조로, 문자열 검색, 부분 문자열 탐색, 반복 패턴 찾기 등 다양한 텍스트 알고리즘 문제를 O(m) 또는 **O(n)**의 시간 복잡도로 해결할 수 있도록 지원합니다. 특히 생물정보학, 텍스트 편집기, 데이터 압축 등 빠른 문자열 탐색이 필요한 분야에서 필수적인 자료구조입니다.1. 개념 및 정의Suffix Tree는 문자열 S의 모든 접미사를 루트에서부터 하위 노드로 이어지는 경로로 표현한 트라이(Trie) 기반의 압축 트리입니다. 다음과 같은 특징을 가집니다:각 경로는 S의 한 접미사를 나타냄리프 노드는 문자열의 각 접미사의 시작 인덱스를 저장내부 노드는 공통 접두사를 공유하는 부분 문자열을 표현※ ..

Topic 2025.05.08

Lazy Propagation

개요Lazy Propagation(지연 전파)은 Segment Tree(세그먼트 트리)에서 구간 단위 업데이트를 효율적으로 처리하기 위한 기술입니다. 일반적인 세그먼트 트리는 단일 요소 갱신에는 O(log n)의 성능을 제공하지만, 구간 전체를 갱신할 경우 모든 관련 노드를 업데이트해야 하므로 비효율적일 수 있습니다. 이때 실제 갱신을 지연하고 필요한 시점에만 적용함으로써 업데이트와 질의 연산 모두를 O(log n) 시간으로 유지할 수 있습니다.1. 개념 및 정의Lazy Propagation은 “지금 당장 처리하지 않아도 되는 업데이트는 나중에 처리하자”는 아이디어입니다. 즉, 구간 업데이트를 수행할 때:하위 노드로 즉시 갱신하지 않고,lazy[] 배열에 갱신 정보를 저장해두고,이후 질의나 하위 노드 접..

Topic 2025.05.08
728x90
반응형