日期:2014-05-17  浏览次数:20466 次

求一个速度最快的算法(文件匹配)
有2个txt文件,数据在100000条左右,基本不会超过这个数
A文件格式为:
"091224000001","369416984474621039","张1","张1、李1","福州欣创摩尔","1"
B文件格式为:
"771366745154366793","张1","张1、李1","1","2009-12-23 16:36:41","福州欣创摩尔","95740551270"

AB文件中每一行算一条记录

设A[0]表示A数据的第一个值091224000001,每个值用“,”分隔,B[0]也是一样的

符合以下条件之一则算匹配:
1、A[1]=B[0]
2、A[2]=B[1]
3、A[3] 包含 B[1]
4、B[2] 包含 A[2]

请大家设计一个速度最快的算法,共同探讨一下。。。

------解决方案--------------------
直接放内存即可,数据量很小。
------解决方案--------------------
为什么不存在 xml中呢
------解决方案--------------------
数据量不大,写到临时表里正常查询就行。
------解决方案--------------------
直接读取txt文件 取得内容放到xml试试~~
XML code
system.io.streamwrite sw = new system.io.streamwrite(path);
strin s = sw.write();
sw.close();
return s;

------解决方案--------------------
1.放内存里,A按A[1]排序,B按B[0]排序;
2.从前往后遍历,如果A[1]=B[0]则验证2、3、4是否符合。

不过10万条数据,数据量挺少的。