我需要在VB.NET中实现一个Diff算法来查找一段文本的两个不同版本之间的变化。我在网上进行了一次调查,发现了几种不同的算法。
这里有没有人知道我能实现的“最佳”算法?
发布于 2008-08-06 07:49:32
嗯,我已经在代码项目中使用了c#版本,它真的很适合我想要的……
http://www.codeproject.com/KB/recipes/diffengine.aspx
如果你自己做不到,你也许可以通过online converter把它翻译成VB.net……
发布于 2008-08-06 07:58:14
我喜欢尤金·迈尔斯的“An O(ND) Difference Algorithm and Its Variations”。我相信这就是GNU diff中使用的算法。要获得良好的背景信息,请参阅Wikipedia。
这是非常理论的,你可能希望找到源代码,但我不知道在VB中有任何源代码。
发布于 2008-08-06 07:52:42
我不确定这是否是最好的diff算法,但你可能想看看那些关于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
https://stackoverflow.com/questions/3144
复制相似问题