본문 바로가기

PS

자료구조 Trie

trie란?

trie 트라이란 문자열을 저장하고 효율적으로 탐색하기 위한 트리 형태의 자료구조

trie의 예시

목적

정수형 자료에 대해 이진검색트리를 하면 O(log N)의 시간만에 원하는 데이터를 검색할 수 있다.

하지만 문자열에서 이진검색트리를 사용한다면 문자열의 최대 길이가 L이라면 O(LlogN)의 시간 복잡도를 가지게 될 것이다.

하지만 트라이를 사용하면 O(L)의 시간만에 원하는 문자열을 검색할 수 있다.

시간복잡도

  • 가장 긴 문자열의 길이를 L, 총 문자열의 수를 N이라고 할 때 시간 복잡도는 다음과 같다
  • 생성시: O(N*L)
  • 삽입, 탐색시: O(L)

직접 구현

백준 5052

https://twpower.github.io/187-trie-concept-and-basic-problem

 

'PS' 카테고리의 다른 글

백준 15649번 N과 M(1) C++ code  (0) 2020.04.27
자료구조 List  (0) 2020.04.22
자료구조 Graph  (0) 2020.04.21
자료구조 Heap  (0) 2020.04.20
자료구조 Tree  (0) 2020.04.20