2013-04-04 88 views
1

我有一個很大的文本文件,其中包含許多英文單詞。但它也包含德語和法語單詞。我需要捕捉所有英文單詞。英文單詞捕獲

我認爲,首先我從磁盤讀取所有文件並將其轉換爲數組,然後將所有單詞匹配到像unix英文單詞詞典(如here)的所有單詞,但由於每個文件的大小而不是一個好的解決方案。如果我這樣做,複雜性會很高,我不想那樣做。

你知道我怎麼用簡單的方法用Ruby來做到這一點嗎?

回答

1

您可以做的第一件事就是將英語詞典放到set(而不是數組)。這樣,查找是O(1),整體複雜度是O(N)而不是O(NxM)。

+0

出於好奇,什麼因素迫使你建議'設置'? – 2013-04-04 08:08:08

+0

O(1)查找。可以是散列或設置。 – 2013-04-04 08:27:46

+0

但我需要逐個檢查數組的所有成員。有沒有像蟒蛇附魔寶石? – ndrx42 2013-04-04 08:53:41