728x90 trie1 [Algorithm] Trie를 Java로 구현해보자! 안녕하세요 coding-knowjam입니다. 오늘은 검색할 때 O(N)의 시간 복잡도를 가지는 Trie를 구현해보겠습니다. 1. Trie란? Trie는 일반적인 Tree자료구조와 같은 모양이지만 저장하는 값이 다른 형태입니다. 정수형을 저장하는 Tree가 아래와 같은 모양으로 있다고 가정하겠습니다. 위와 같은 정수형 자료의 이진트리에서는 검색을 수행할 때 O(logN)의 시간 복잡도를 가지게 됩니다. 그러나 같은 이진트리 형태 이어도 문자열을 저장하고 있다면 문자열의 길이가 M일 때, O(M*logN)의 시간 복잡도를 가지게 됩니다. 이러한 문제를 해결하기 위해 Trie를 사용하게 됩니다. Trie는 문자열 전체를 하나의 노드에 저장하는 게 아니라, 한 단어씩 노드에 저장하는 트리입니다. Trie는 루트.. Algorithm & Data Structure/이론 2021. 4. 10. 이전 1 다음 728x90