2014-03-02 25 views
0

哪一種搜索翻譯詞典最快的方法?在雙語詞典中搜索的最快方法

在我看來,你應該知道的第一件事是 - 你應該使用什麼樣的結構(數組等)。 第二件事是哪種算法是用於該結構的最佳選擇。

我的猜測是它會是某種自平衡樹。我認爲樹是一個結構,它也是一個搜索算法。我對嗎?你的意見?

謝謝!

編輯:這是一個雙語字典。它擁有關於千萬記錄。一臺機器。

+0

什麼是「翻譯字典」?這本詞典有多大?你的記憶力有多大?您是否允許使用多臺機器,或者只能在一臺機器上運行? –

+0

@MichaelAaronSafyan這是一部雙語詞典。這本字典可能有關於百萬記錄。內存限制:2 GB的空間。一臺機器。對不起,我不是專家,這就是爲什麼我問。謝謝 –

回答

0

因此,您的數據結構必須存儲單詞對(以2種不同的語言),並且您將使用一種語言的單詞作爲查找鍵?

您是否需要每秒執行一百萬次以上的查找?如果不是,不要擔心什麼結構是最快的。只需使用您的語言提供的任何標準哈希表結構即可。

如果您不確信:我只是在Ruby中做了一個小實驗,使用了一個包含1,000,000個條目的哈希表。在我的PC上,我可以在大約1毫秒內在該表中執行1000次查找。

如果您需要每秒需要超過1,000,000次查找:嘗試搜索特里結果。

請記住,由於您的結構是完全靜態且不變的,因此該任務可跨多個CPU內核100%並行化。