用于大文件解析的算法

时间:2012-03-30 22:58:43

标签: algorithm

我有一个大小为1 gb的大文件,格式为给定格式。每行有两个数字。 现在的任务是确定用户给出的数字是否在该范围内。 由于文件很大,需要很长时间。任何算法洞察都有助于减少时间因素。

    #1 2 
    #3 5
    #6 7 
    #7 41 
    #7  8 
    #9 41 

    Input : 4,8,9

    OUTPUT

    #1 2  
    #3 5 #4
    #6 7 
    #7 41 #8,9 
    #7  8 #8
    #9 41 #9

2 个答案:

答案 0 :(得分:1)

如果只有几个输入,则扫描整个文件并且每行检查每个数字都不会更快。如果有许多输入(> = 20),您可以对它们进行排序,如果每行的下部和上部数字与输入数字的范围重叠,则使用二进制搜索进行检查。

答案 1 :(得分:0)

创建一个索引文件,该文件将具有每个/某些起始值的file_seek位置。这样您就可以直接跳到相关文件的一部分。