我有這個龐大的按字母順序排序的索引,我需要獲取特定術語的行。逐行讀取文件並檢查我是否得到正確的術語對我來說似乎並不高效,因此索引的大小(我們對英文wikipedia語料庫編制索引)。Java:在字母排序的文本文件中查找單詞的最佳方法
因此,我正在尋找一種方法來進行二分法搜索。我使用LineNumberReader來有效地獲取行數,但似乎沒有有效的解決方案從文件中獲取第n行。
我想知道如果直到我在第n行讀取行,檢查它是否是正確的術語,並根據二進制搜索算法採取行動(可能再次讀取行,因爲我需要一條線我已跳過)更有效率,然後只是逐行檢查術語?
任何其他建議也非常歡迎!
請注意,我需要獲取一組行,具體取決於要搜索的術語集。
請注意,['LineNumberReader'](http://docs.oracle.com/javase/7/docs/api/java/io/LineNumberReader.html)不會聲稱有效地索引文件或獲取線。它只是在線性讀取文件時報告當前行號。 – 2012-03-05 01:42:19
好的,謝謝你讓我知道。 – ljtijhuis 2012-03-05 09:37:40