Trie

Lee·2023년 12월 19일
0

정의

트리 기반 데이터 구조를 가지는 문자열 검색 작업에 효율적인 자료 구조

vs HashTable

  • 접두사 기반 검색에 유리하다.
  • 모든 단어를 알파벳 순으로 쉽게 인쇄할 수 있다.
  • hash 오버헤드가 없다.
  • 문자열 검색 시 O(L)의 시간 복잡도를 갖는다.

property

  • 하나의 루트 노드를 갖는다.
  • 각 노드는 문자열을 나타내고 간선은 문자를 나타낸다.
  • 모든 노드는 해시맵 또는 포인터 배열로 구성
  • 루트 노드에서 각 노드까지는 문자 또는 문자열을 의미한다.

insert

ant, and 단어 저장 예시

  • and
    • and의 첫 글자가 a 이므로 a 노드를 찾아 표시한다.
    • 두번째 글자인 n으로 이동 후 표시한다.
    • 세번째 글자인 d로 이동후 표시한다.
  • ant
    • ant의 첫 글자가 a 이르모 a 노드를 찾는다.
    • a 노드에 표시가 되어 있으므로 이동한다.
    • 두번째 글자인 n으로 이동한다.
    • n 노드에 표시가 되어 있으므로 이동한다.
    • 세번째 글자인 t로 이동후 표시한다.
profile
발전하고 싶은 백엔드 개발자

0개의 댓글