最佳区分算法

时间:2020-03-05 18:37:57  来源:igfitidea点击:

我需要在VB.NET中实现Diff算法,以查找一段文本的两个不同版本之间的更改。我在网上有一个侦察员,发现了两种不同的算法。

这里有人知道我可以实现的"最佳"算法吗?

解决方案

回答

好吧,我已经在codeproject上使用了cversion,它确实对我想要的东西有好处...

http://www.codeproject.com/KB/recipes/diffengine.aspx

如果我们自己无法完成此操作,则可以通过在线转换器将其转换为VB.net ...

回答

我不确定这是否是最好的差异算法,但我们可能想查看一下有关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

回答

我喜欢Eugene Myers提出的O(ND)差异算法及其变体。我相信这是在GNU diff中使用的算法。有关良好的背景,请参见Wikipedia。

这是很理论的,我们可能希望找到源代码,但是我不知道VB中有任何源代码。