Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- HTTP API
- 2589
- 고모네 콩탕
- 서블릿
- 설탕 배달
- dp
- mvc
- 2638
- Spring
- 알고리즘
- 포두부 보쌈
- 백준
- BFS
- 1로 만들기
- 투어
- 문자열 압축
- 프로그래머스
- 완도산회
- 맛집
- 스프링 MVC
- 다이나믹 프로그래밍
- 쓰레드 풀
- 호유동
- 스프링
- Servlet
- 2839
- 양꼬치
- 2020 KAKAO BLIND
- 동적 프로그래밍
- 맛집 투어
Archives
- Today
- Total
프로그래밍 공방
Trie : 트라이 본문
Trie : 트라이
빠른 패턴 매칭을 지원하기 위해 문자열들을 저장하는 트리 기반의 자료구조이다.

Trie의 특징
1. Trie의 주요 질의 연산은 패턴 매칭과 접두사 매칭(prefix matching)이다.
2. Trie는 루트로부터 리프 노드들까지의 경로로써 문자열을 표현한다.
크기 d의 알파벳으로 s개의 문자열의 집합 S(전체 길이 n)를 저장하는 Trie
- Trie의 모든 내부 노드는 최대 d개의 자식을 가진다.
- Trie는 s개의 리프 노드들을 가진다.
- Trie의 높이는 S에서 가장 긴 문자열의 길이와 같다.
- Trie의 노드들의 개수는 O(n)이다.
- 크기가 m인 문자열에 대한 탐색 실행시간은 O(dm)이다.
Trie의 단점
Trie는 각 노드마다 실제로 다음에 올 문자가 없더라고 다음 문자를 가리킬 포인터가 필요하다.
이러한 점 때문에 공간 복잡도에서 단점을 갖는다.
Trie 사용 예시
- 예측 문자, 자동 완성
- 맞춤법 검사
- 근사 일치 알고리즘
- 전문 검색
'개발 > 자료구조' 카테고리의 다른 글
| Segment Tree : 세그먼트 트리 (0) | 2020.12.09 |
|---|---|
| [자료구조] Stack / Queue (0) | 2020.11.14 |
| [자료구조] Array / Linked List (0) | 2020.11.13 |