<分区>
我一直在寻找一个有效且有效的 diff 算法的解释。
我得到的最接近的是this link to RFC 3284 (来自几篇 Eric Sink 博客文章),它以完全易于理解的方式描述了存储差异结果的数据格式。但是,它没有提及程序如何在进行比较时获得这些结果。
出于个人的好奇心,我正试图对此进行研究,因为我确信在实现差异算法时必须进行权衡,有时当您查看差异并想知道“为什么差异程序选择了这个”时,这一点非常清楚作为一个改变而不是那个?”...
我在哪里可以找到最终输出 VCDIFF 的高效算法的描述?
顺便说一下,如果您碰巧找到 SourceGear 的 DiffMerge 使用的实际算法的描述,那就更好了。
注意:最长公共(public)子序列似乎不是 VCDIFF 使用的算法,鉴于他们使用的数据格式,看起来他们正在做一些更聪明的事情。