我需要编写一个函数来比较 2-5 个“文件”(实际上是 2-5 组数据库行,但概念相似),我不知道该怎么做。生成的差异应该并排显示 2-5 个文件。输出应显示添加、删除、更改和未更改的行,每个文件都有一列。
我应该使用什么算法来遍历行以保持低复杂度?每个文件的行数少于 10,000。我可能不需要外部合并,因为总数据大小在兆字节范围内。简单易读的代码当然也不错,但这不是必须的。
编辑:文件可能来自一些未知来源,没有“原始”可以与其他 1-4 个文件进行比较;所有文件都必须以某种方式与其他文件进行比较。
编辑 2:我,或者更确切地说是我的同事,意识到可以对内容进行排序,因为输出顺序无关紧要。这个解决方案意味着对应用程序的这一部分使用额外的领域知识,而且差异复杂度是 O(N) 并且代码不太复杂。这个解决方案很简单,当我关闭赏金时,我将忽略对此编辑的任何答案。但是,我将回答我自己的问题以供将来参考。