[Data Structure] 트라이 (Trie) - 자바로 구현하기


[Data Structure] 트라이 (Trie) - 자바로 구현하기

서론 이라 쓰고 그냥 주절주절하는 내용 1년전 쯤 트라이라는 자료구조에 대해 간단히 공부하고 블로그 포스팅을 한 적이 있다. 최근 어느 회사의 전화인터뷰에서 "사전 애플리케이션의 자동완성 기능을 구현하기 위해서 어떤 자료구조를 이용할 것이냐" 라는 질문을 받았는데, 반사적으로 트라이 자료구조가 떠올랐다. 하지만 이를 직접 구현해본 적은 없어서 자신있게 대답을 하지 못해 매우매우매우 아쉬웠다. 또, 최근에 코딩테스트 연습 차 프로그래머스 웹 프론트엔드 데브매칭에 참여했는데 검색어 자동완성 기능을 구현하는 문제가 나왔다. 프론트엔드이다 보니 주어지는 API를 이용해 반환된 단어리스트를 보여주는 등의 View 컨트롤만 하는 문제이긴 했다. 어쨌든, 이런저런 이유에서 이번 기회에 트라이 자료구조를 구현해보고자 한다. Node of Trie Data Structure 위 그림에서 볼 수 있듯이, 트라이 자료구조는 다음의 특징을 가진다. ① 각 노드는 완성된 문자열인지 아닌지 여부를 저장한다....


#DataStructure #Java #RadixTrie #Trie #Trie구현 #자료구조 #트라이

원문링크 : [Data Structure] 트라이 (Trie) - 자바로 구현하기