问题描述
我得到了 10 个二进制文件,我必须找到两个或多个文件之间相同的最长字节链。
任何帮助表示赞赏。提前致谢。
解决方法
-
一种蛮力方法是将每个文件与任何其他文件进行比较
文件,这需要 10 * 9 = 90 次比较。
-
为了比较任意两个文件,你可以遍历它们
bytewise 并比较它们是否相等,然后一路上你
存储迄今为止找到的最长序列。任何时候序列中断,
你开始一个新的临时序列,只有在它出现时才存储它
比原版长。
-
另一种但有些类似的方法是使用动态规划
最长公共子序列 (LCS) 但需要更多内存
比以前的所以取决于文件的大小等,但是
对于这种方法,有大量的图形资源
算法的可视化和伪代码。