트라이 : Trie
트라이는 문자열을 효율적으로 저장하고 검색하기 위한 자료구조이다. 주로 문자열 처리와 관련된 문제를 해결하는데 유용하다.자동완성, 사전(Dictionary) 구현, 검색 추천 등에서 많이 사용된다.특징노드 구조트리는 루트부터 시작하며, 각 노드는 문자(char)와 연결된다.노드에는 해당 문자로 끝나는 단어의 여부를 나타내는 플래그(종료 마커)도 포함 될 수 있다.계층적 구조각 경로는 문자열의 접두사를 표현한다. 예를 들어, "cat"과 "car"가 저장된 트라이에서는 "ca"가 공통 접두사로 저장된다.공간 효율성공통 접두사를 공유하기 때문에 유사한 문자열이 많을 경우 메모리 사용을 줄일 수 있다.하지만, 노드의 갯수가 많아지면 공간을 더 차지하게 된다.시간 복잡도검색, 삽입, 삭제, 모두 문자열의 길이를..