All Honey Tip

[기술 면접] 10. 트라이(Trie) 자료구조에 대해서 알고 계신가요?

수정 일:

발행 일:

제목을 입력해주세요 복사본 13 001 1 1

저번 시간에 이어, 이번엔 트라이(Trie) 자료구조에 대한 질문을 알아보도록 하겠습니다. 트라이(Trie) 자료구조는 문자열과 관련된 문제를 해결할 수 있는지, 해당 자료구조에 대한 이해를 확인하는 질문입니다. 출제 빈도가 높진 않지만, 중요한 자료구조이니 숙지하고 가시길 권해드립니다.

트라이(Trie) 자료구조에 대해서 알고 계신가요?




Q: 트라이(Trie) 자료구조에 대해서 알고 계신가요?

트리 자료구조 중 하나로 문자열을 저장하고 탐색하는 데 유용한 자료구조입니다.

각 노드는 Key와 Value로 구성 되는 Map을 가지고 있으며, Key는 알파벳, Value는 각 Key에 해당하는 자식 노드들을 의미합니다.

루프 노드부터 리프 노드까지 연결하여 검색된 문자열을 찾을 수 있습니다.






Q: 어떤 상황에서 트라이(Trie) 자료구조가 사용되나요?

사전 검색이나 자동 완성, 압축이나 인코딩같이 대량의 문자열을 다룰 때 사용될 수 있습니다.







Q: 트라이(Trie)의 장단점에 대해 말씀해보세요.

문자열 검색을 빠르게 할 수 있지만, 각 노드에서 자식들에 대한 포인터들을 배열로 저장하고 있기 때문에 공간복잡도가 크다는 단점이 있습니다.





Trie 자료구조에 대해 더 알아보실 수 있는 책 3권 추천해 드립니다. 🙂





마치며

이번 시간엔 트라이(Trie) 자료구조에 대한 질문들을 알아보았습니다.

다음 시간엔, 정렬 알고리즘에서의 안정성(Stability)에 대한 질문을 알아보겠습니다.

image 31


코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다