2014-03-02 2 views
0

번역 사전에서 가장 빨리 검색하는 방법은 무엇입니까?이중 언어 사전에서 가장 빠른 검색 방법

필자가 알아야 할 첫 번째 사항은 어떤 구조 (배열 등)를 사용해야하는지입니다. 두 번째로 해당 알고리즘에 가장 적합한 알고리즘을 선택하는 것입니다.

제 생각에 그것은 일종의 자기 균형 나무 일 것입니다. 나는 나무가 구조이고 하나의 검색 알고리즘이라고 생각한다. 내가 맞습니까? 당신의 의견?

감사합니다.

편집 : 이중 언어 사전입니다. 밀리언 기록을 보유하고 있습니다. 하나의 기계.

+0

"번역 사전"이란 무엇입니까? 이 사전은 얼마나 큽니까? 기억의 제약은 무엇입니까? 여러 대의 컴퓨터를 사용할 수 있습니까? 아니면 한 대의 컴퓨터에서만 실행해야합니까? –

+0

@MichaelAaronSafyan 이중 언어 사전입니다. 사전에는 milion 레코드가있을 수 있습니다. 메모리 제약 조건 : 2GB의 공간. 하나의 기계. 미안해, 난 전문가가 아니야. 그래서 내가 묻는거야. 감사 –

답변

0

데이터 구조에 단어 쌍 (2 개의 다른 언어로)이 저장되어 있어야하며 한 언어의 단어를 조회 키로 사용합니까?

초마다 백만 번 넘는 조회를 수행해야합니까? 그렇지 않다면 가장 빠른 구조에 대해 걱정하지 마십시오. 귀하의 언어로 제공되는 표준 해시 테이블 구조를 사용하십시오.

확신이 없다면 : 방금 Ruby에서 1,000,000 개 항목의 해시 테이블을 사용하여 약간의 실험을했습니다. 내 PC에서 약 1 밀리 초 동안 해당 테이블에서 1000 개의 조회를 수행 할 수 있습니다.

의 경우 1 초당 1,000,000 회 이상의 조회가 필요합니다. 검색 트라이를 시도하십시오.

구조가 완전히 정적이고 변경되지 않기 때문에이 작업은 여러 CPU 코어에서 100 % 병렬 처리가 가능합니다.