【问题标题】:How to find longest common subsequence in multiple binary files?如何在多个二进制文件中找到最长的公共子序列?
【发布时间】:2021-04-09 14:04:49
【问题描述】:

我有 10 个二进制文件,我必须找到两个或多个文件之间相同的最长字节链。 任何帮助表示赞赏。提前致谢。

【问题讨论】:

  • 到目前为止你尝试了什么?
  • 先试试看有什么问题。
  • 我试图在列表中获取二进制文件的内容并应用 LCS 算法,但我无法将它用于多个文件。另外,我需要返回文件中找到的链的偏移量以及文件名,并且上述方法不适合它。

标签: python python-3.x python-requests binaryfiles


【解决方案1】:
  • 蛮力方法是将每个文件与任何其他文件进行比较 文件,这需要 10 * 9 = 90 次比较。

  • 为了比较任何两个文件,您可以只运行它们 逐字节比较它们是否相等,然后一路上你 存储迄今为止发现的最长序列。任何时候序列中断, 您开始一个新的临时序列,并且仅在它存在时存储它 比原版长。

  • 另一种但有些相似的方法是使用动态规划 对于最长公共子序列 (LCS),但需要更多内存 比以前的所以取决于文件的大小等,但是 对于这种方法,有大量的图形资源 算法的可视化和伪代码。

【讨论】:

    猜你喜欢
    • 2011-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-02
    • 1970-01-01
    • 2012-08-29
    • 2015-06-23
    • 2011-03-01
    相关资源
    最近更新 更多