| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3395 人关注过本帖
标题:新手初学C语言,需要按行比较、处理大文件,求教算法和数据结构!(分数只有 ...
只看楼主 加入收藏
Rumia
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-5-15
结帖率:100%
收藏
 问题点数:0 回复次数:1 
新手初学C语言,需要按行比较、处理大文件,求教算法和数据结构!(分数只有10分了,求点击~)
大概是这样的,有两个文件 A,B(在附件里,比较小,实际比这个大,大概500MB),
我需要选择 A 中的某一列,再选择 B 中的某一列,
一行行处理的时候拿 A 的所选列和 B 的所选列对比,
假如 A 的所选列和 B 的所选列是相互包含关系(无论哪个包含哪个),
那么分别在 A、B 的所在行做标记。。循环直到文件结束,
最后输出 A、B 中所做标记的行。

比如:
A文件                     B文件
1   dcc                  x        6
2   login                in       7
3   xmind                out      8
4   zzz                  dcc      9
5   crazy                rumia    10

选择 A 的第2列和 B 的第1列进行比较处理
输出结果就是
A‘
1   dcc
2   login
3   xmind

B’
x     6
in    7
dcc   9


注:大文件处理,越快越好!所以可以对文件按所选的列进行排序!

我一开始想到的是用二叉树节点保存每行以及这行所选的字段(列),
然而如果是递归的话,处理100多万行的文件估计不太行,用非递归的方式不太会。。
然后判断是否相互包含用了KMP算法,考虑到有些字段很长,但也不知道具体运行起来是不是会比C标准库的strstr快;
总之求大神帮看一下,选择怎样的算法和数据结构会比较快!

若有木有看明白的话留言一下叭~


[此贴子已经被作者于2016-5-19 13:36编辑过]

搜索更多相关主题的帖子: C语言 
2016-05-19 13:34
Rumia
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-5-15
收藏
得分:0 
ab.tar.gz (3.31 KB)
2016-05-19 13:35
快速回复:新手初学C语言,需要按行比较、处理大文件,求教算法和数据结构!(分 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.046915 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved