【发布时间】:2013-01-09 13:39:54
【问题描述】:
我需要在 VB.NET 中实现一个 Diff 算法来查找一段文本的两个不同版本之间的变化。我在网上找了一个侦察员,发现了几种不同的算法。
这里有人知道我可以实现的“最佳”算法吗?
【问题讨论】:
-
Here's another good answer 适合您的问题。
我需要在 VB.NET 中实现一个 Diff 算法来查找一段文本的两个不同版本之间的变化。我在网上找了一个侦察员,发现了几种不同的算法。
这里有人知道我可以实现的“最佳”算法吗?
【问题讨论】:
好吧,我在 codeproject 上使用了 c# 版本,它真的很适合我想要的...
http://www.codeproject.com/KB/recipes/diffengine.aspx
如果您不能自己完成,您可以通过online converter 将其翻译成 VB.net...
【讨论】:
我喜欢 Eugene Myers 的 An O(ND) Difference Algorithm and Its Variations。我相信这是 GNU diff 中使用的算法。有关良好背景,请参阅Wikipedia。
这是相当理论上的,您可能希望找到源代码,但我不知道 VB 中的任何源代码。
【讨论】:
我不确定它是否是最好的差异算法,但您可能想查看那些讨论 SOCT4 和 SOCT6 的链接
http://dev.libresource.org/home/doc/so6-user-manual/concepts
还有:
http://www.loria.fr/~molli/pmwiki/uploads/Main/so6group03.pdf
http://www.loria.fr/~molli/pmwiki/uploads/Main/diffalgo.pdf
【讨论】: