خطوات الاستخدام
الخطوة 1: فهم مفهوم مسافة التحرير (Levenshtein Distance). هي مقياس يُستخدم لقياس الفرق بين سلسلتين نصيتين (string). تُحسب كأقل عدد من العمليات (إضافة حرف، حذف حرف، أو استبدال حرف) اللازمة لتحويل السلسلة الأولى إلى الثانية. على سبيل المثال، تحويل 'kitten' إلى 'sitting' يتطلب 3 عمليات: استبدال 'k' بـ 's'، استبدال 'e' بـ 'i'، وإضافة 'g'. تُستخدم هذه المسافة في تطبيقات مثل التدقيق الإملائي، تحليل الحمض النووي، والتعرف على الكلام.
الخطوة 2: إدخال السلسلتين النصيتين (string1 و string2) في الحاسبة. السلسلة الأولى هي السلسلة المصدر التي تريد تحويلها، والسلسلة الثانية هي الهدف. ستقوم الحاسبة ببناء مصفوفة ديناميكية (DP table) بأبعاد (len(string1)+1) × (len(string2)+1). الصف الأول يمثل تحويل سلسلة فارغة إلى السلسلة الهدف (أي إضافة جميع الأحرف)، والعمود الأول يمثل تحويل السلسلة المصدر إلى سلسلة فارغة (أي حذف جميع الأحرف).
الخطوة 3: الحساب الديناميكي. تملأ الحاسبة كل خلية في المصفوفة باستخدام المعادلة: DP[i][j] = min( DP[i-1][j] + 1 (حذف), DP[i][j-1] + 1 (إضافة), DP[i-1][j-1] + (0 if string1[i-1]==string2[j-1] else 1) (استبدال) ). القيم تمثل تكلفة تحويل أول i أحرف من string1 إلى أول j أحرف من string2. القيمة النهائية في الزاوية اليمنى السفلى (DP[m][n]) هي مسافة التحرير المطلوبة.