2012-03-30 107 views
-1

我有一个大小约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 
+0

你使用什么语言/框架?你当前的文件阅读代码是什么样的? – hatchet 2012-03-30 23:01:56

回答

1

如果只有几个输入,没有什么比扫描整个文件和每行检查每个数字都快。如果有多个输入(> = 20),您可以对它们进行排序,并使用二分法搜索来检查每行的较低和较高数字是否与输入数字范围重叠。

0

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