【发布时间】:2012-03-05 01:25:48
【问题描述】:
我有这个巨大的按字母排序的索引,我需要获取特定术语的行。逐行阅读文件并检查我是否得到了正确的术语对我来说似乎效率不高,因此索引的大小(我们索引了英语维基百科语料库)。
因此,我正在寻找一种方法来对行进行二进制搜索。我使用 LineNumberReader 来有效地获取行数,但似乎没有有效的解决方案来从文件中获取第 n 行。
我想知道是否读取行直到我在第 n 行,检查它是否是正确的术语并根据二进制搜索算法采取行动(可能再次读取行,因为我需要已经跳过的行)比逐行检查更有效吗?
任何其他建议也非常欢迎!
请注意,我需要获取一组行,具体取决于要搜索的术语集。
【问题讨论】:
-
请注意,
LineNumberReader并没有声称可以有效地索引文件或获取行数。它仅在线性读取文件时报告当前行号。 -
好的,谢谢你告诉我。
标签: java text-files binary-search alphabetical