| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
Reworld,下班在家制作游戏,1500万奖金等你拿以码会友 以友辅仁
共有 2704 人关注过本帖
标题:新手初学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 
附件: 您没有浏览附件的权限,请 登录注册
2016-05-19 13:35
快速回复:新手初学C语言,需要按行比较、处理大文件,求教算法和数据结构!(分 ...
数据加载中...
 
   





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

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