去除两个文件的重复行

蜡笔小新啦 2013-03-05 05:16:24
去除两个文件中的重复行,请问大家有什么好的算法吗?
...全文
192 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
蜡笔小新啦 2013-03-06
  • 打赏
  • 举报
回复
都没有人回答啊。 还是用hash做的。毕竟查找很快。
蜡笔小新啦 2013-03-06
  • 打赏
  • 举报
回复
有人说用两个list来存储这两个文件的内容, 然后一个一个的比较。 感觉性能不好。
蜡笔小新啦 2013-03-06
  • 打赏
  • 举报
回复
同时要保证行原来的顺序。 我是这么做的: hash<string,long>h1; hash<long,string>h2; 先将File1的内容读入h1中,long就存储行的index, 再读File2的内容到h1中,long就存储行的index*-1; 读的时候要先用h1.contains(str),看是否存在,若存在则射h1[str]=0; 然后在将h1中long大于0的读入到h2中, 这样就将long从小到大自动排序了。然后遍历h2写入到file1中去。 这样我分析了下性能。 读File1到h1中。contains()查找可以认为是O(1),当然实际要大于,但是绝对是一个小的常量, 插入到h1中也可以认为是O(1);那么,时间性能就是 行数*2*O(1) File2也一样。 这样加起来时间代价还是不算高的。
蜡笔小新啦 2013-03-06
  • 打赏
  • 举报
回复
两个都要做。 eg: File1: abc def ghi abc File2: ddd abc jjj jjj 那么将两个文件中的abc都去掉。File2中的jjj也要去掉。
Hony杨 2013-03-06
  • 打赏
  • 举报
回复
去掉两个文件中重复的行 和 去掉一个文件中重复的行 有啥区别?

33,027

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧