Beyond Compare软件算法如何工作?

How Beyond Compare software algorithm work?

我很好奇 'Beyond Compare' 的算法是如何工作的?

我想他们使用了一种标准(众所周知的?)算法来实现 "character .vs. character" 比较。你知道这个算法的名字吗?谢谢

Beyond Compare 根据文件类型和配置使用多种不同的算法。在 v4 中,线对齐算法在接口中明确命名:

  • 标准对齐 - 这是专有算法;我们尚未公开详细信息。

  • Myers O(ND) 对齐 - 这与 GNU diff 实用程序和大多数其他应用程序使用的对齐相同。它基于 Eugene Myers (1986) 的论文"An O(ND) difference algorithm and its variations"。

  • Patience Diff alignment - 这是 Bram Cohen 最初为 Bazaar 开发的 "Patience Diff" 算法,他谈到了 here.

突出显示行内差异的字符对齐基于 Myers O(ND) 算法,并进行了一些 post 处理以清理结果。