如何超越比较软件算法的工作?

dil*_*lip 10 diff compare beyondcompare beyondcompare3

我很想知道'Beyond Compare'的算法是如何工作的?

我猜他们用来实现"字符.vs.字符"比较的标准(众所周知的?)算法.你知道这个算法的名字吗?谢谢

Zoë*_*son 10

Beyond Compare使用许多不同的算法,具体取决于文件类型和配置.在v4中,行对齐算法在接口中明确命名:

  • 标准对齐 - 这是一种专有算法; 我们还没有公开细节.

  • Myers O(ND)alignment - 这与GNU diff实用程序和大多数其他应用程序使用的相同.它基于Eugene Myers(1986)的论文"An O(ND)差分算法及其变体".

  • 耐心差异对齐 - 这是Bram Cohen最初为Bazaar开发的"耐心差异"算法,他在这里讨论.

用于突出显示行内差异的字符对齐基于Myers O(ND)算法,并使用一些后处理来清理结果.