سؤال
أحتاج إلى تنفيذ خوارزمية Diff في VB.NET للعثور على التغييرات بين نسختين مختلفتين من جزء من النص.لقد قمت بمستكشف حول الويب ووجدت بضع خوارزميات مختلفة.
هل يعرف أحد هنا خوارزمية "أفضل" يمكنني تنفيذها؟
المحلول
حسنًا، لقد استخدمت إصدار c# في codeproject وهو جيد حقًا لما أردته...
http://www.codeproject.com/KB/recipes/diffengine.aspx
ربما يمكنك ترجمة هذا إلى VB.net عبر ملف محول على الانترنت إذا كنت لا تستطيع أن تفعل ذلك بنفسك..
نصائح أخرى
انا يعجبني خوارزمية الفرق 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