
[자료구조] 트라이(Trie) 완벽 가이드
·
CS/개념
1. 트라이(Trie)란 무엇인가?트라이는 문자열을 저장하고 탐색하는 데 특화된 트리 기반 자료구조이다.트라이는 문자열의 길이를 $L$이라 할 때, 탐색 및 삽입 연산을 $O(L)$ 시간에 수행할 수 있다.이는 해시 테이블과 유사한 성능을 가지며, 접두사 기반 검색이 자연스럽게 가능하다는 점에서 유리하다. 2. 트라이 구조트라이는 루트 노드에서 시작하여 각 문자마다 분기하는 구조를 가진다.각 노드는 다음과 같은 속성을 가진다:children: 자식 노드를 저장하는 딕셔너리 (dict)is_end: 단어의 끝을 나타내는 불리언 값 (bool) 트라이 구조 예시다음과 같은 단어들을 저장한다고 가정한다:apple, april, bus, busy, beer, best해당 단어들을 삽입한 트라이 구조는 다음과 ..