2009-12-24 4 views
0

안녕하세요. 사전에 단어를 검색하려면 빠른 방법이 필요합니다.항목을 찾는 가장 효율적인 방법은 무엇입니까?

사전에 500k 단어가 있습니다.

각 bin이 최대 1 단어가있는 해시 맵을 사용하는 것에 대해 생각하고 있습니다.

아이디어를 얻는 방법 또는 더 좋은 점이 있습니까?

+1

어떤 언어입니까? 이 문제는 대부분 해결되었습니다. – jball

+0

C++에서 ..... – SuperString

답변

8

Trie은 사전을 저장하는 효율적인 방법이며 매우 빠른 검색 특성 O (m)을 갖습니다. 여기서 m은 단어의 길이입니다.

해시 맵은 메모리 효율적이지 않지만 조회 시간은 완벽한 해시 O (1) 조회에 대해 일정한 양이지만 여전히 O (m) 해시 계산에 씁니다. 불완전한 해시는 트라이보다 느린 최악의 경우를가집니다.

관련 문제