我需要在VB.NET中实现Diff算法来查找一段文本的两个不同版本之间的变化。 我在网上有一个侦察员,并找到了几种不同的算法。
这里有人知道我可以实现的“最佳”算法吗?
好吧,我在codeproject上使用了c#版本,它真的很适合我想要的......
http://www.codeproject.com/KB/recipes/diffengine.aspx
你可以通过在线转换器将其翻译成VB.net,如果你不能自己做的话......
我喜欢Eugene Myers的An O(ND)差分算法及其变化 。 我相信这是GNU diff中使用的算法。 有了好的背景,请参阅维基百科 。
这是非常理论化的,你可能希望找到源代码,但我不知道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