【发布时间】:2011-10-27 04:48:07
【问题描述】:
如果您有两个基本相同的文件,其中包含 1000 多条记录,您将如何编写代码来找出它们之间的差异。假设不允许使用 unix/linux 命令。
我的想法:
由于大部分条目是相同的,我们可以对两个文件的条目进行排序,然后逐一比较每个条目,例如file1 中的条目 i 与 file2 中的条目 i 进行比较。它是 O(n lg n),n 是文件的大小。
有 O(n) 的解决方案吗?
【问题讨论】:
-
这听起来很像家庭作业......
-
在一定大小的输入范围内,哈希表可以为您提供线性时间。
-
相同记录的位置是否需要匹配,或者是否可以在两个文件之间的不同位置找到两条相同的记录?
-
两种情况都有可能,我们需要考虑这两种情况。
-
@GWW 我不这么认为,但是我从来没有上过编程课。
标签: c++ c algorithm data-structures comparison