如何执行文本文件的二进制搜索

Ben*_*eno 7 java android binary-search

我有一个大文本文件(5Mb),我在我的Android应用程序中使用.我将文件创建为预先排序的字符串列表,文件创建后不会更改.如何对该文件的内容执行二进制搜索,而无需逐行读取以查找匹配的字符串?

unh*_*ler 7

由于文件内容没有变化,您可以将文件分成多个部分.说AG,HN,0-T和UZ.这允许您检查第一个字符,并立即将可能的设置剪切为原始大小的四分之一.现在,线性搜索不会花费很长时间,或者读取整个文件可能是一个选项.如果n/4仍然太大,这个过程可以延长,但想法是一样的.将搜索细分构建到文件结构中,而不是尝试在内存中完成所有操作.