我很好奇“Beyond Compare”的 diff 算法是如何工作的?
我猜他们有一个标准的(众所周知的?)差异算法来实现“字符与字符”的比较。你知道这个 diff 算法的名字吗?谢谢你
Beyond Compare 根据文件类型和配置使用多种不同的算法。在 v4 中,线对齐算法在界面中明确命名:
标准对齐——这是一种专有算法;我们尚未公开详细信息。
Myers O(ND) 对齐方式 - 这与 GNU
diff
实用程序和大多数其他应用程序使用的对齐方式相同。它基于 Eugene Myers (1986) 的论文“An O(ND) 差分算法及其变体”。
Patience Diff 对齐 - 这是 Bram Cohen 最初为 Bazaar 开发的“Patience Diff”算法,他在here谈到了该算法。
突出显示行内差异的字符对齐基于 Myers O(ND) 算法,并进行一些后处理以清理结果。
这将打开此对话框,然后您可以配置会话范围或针对文件关联使用持久默认值。