"Лучший" алгоритм Diff

Мне нужно реализовать алгоритм Diff в VB.NET, чтобы найти изменения между двумя разными версиями фрагмента текста. У меня был разведчик по сети и нашел несколько разных алгоритмов.

Кто-нибудь знает об "лучшем" алгоритме, который я мог бы реализовать?

Ответы

Ответ 1

Ну, я использовал версию С# для codeproject и ее действительно хорошо для того, что я хотел...

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

Возможно, вы можете получить это переведенное на VB.net через онлайн-конвертер, если вы не можете сделать это самостоятельно...

Ответ 2

Мне нравится Алгоритм разложения (ND) и его вариации Юджина Майерса. Я считаю, что это алгоритм, который использовался в GNU diff. Для хорошего фона см. Wikipedia.

Это довольно теоретично, и вы можете найти исходный код, но я ничего не знаю о VB.