0Pricing
Coding Interview Prep · درس

مسافة التحرير خطوةً بخطوة

الإدراج والحذف والاستبدال للتحويل

مسافة التحرير خطوةً بخطوة درس مجاني في Coding Interview Prep على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Coding Interview Prep، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Coding Interview Prep 4 دروس في المجموع.

ما الذي تقيسه مسافة التحرير

مسافة التحرير هي أقل عدد من عمليات التحرير على محارف مفردة لتحويل سلسلة نصوص إلى أخرى. وهي تقيس مدى اختلاف كلمتين فعليًا.

العمليات الثلاث

يمكنك إدراج محرف واحد أو حذفه أو استبداله في كل عملية تحرير. وتبلغ تكلفة كل عملية واحدًا بالضبط في المسألة القياسية.

حدّد الحالة

لتكن dp[i][j] عدد عمليات التحرير اللازمة لتحويل أول i محرفًا من A إلى أول j محرفًا من B.

التطابق المجاني

إذا كان المحرفان الحاليان متطابقين أصلًا، فلا حاجة إلى أي عملية تحرير. ما عليك سوى نقل قيمة القطر مباشرةً إلى الأسفل.

if a[i-1] == b[j-1]:
    dp[i][j] = dp[i-1][j-1]

وإلا، ادفع واحدًا

عندما يختلف المحرفان، اختر الجار الأقل تكلفة وأضف عملية تحرير واحدة. يغطي هذا الأسلوب، min زائد واحد، العمليات الثلاث كلها.

dp[i][j] = 1 + min(dp[i-1][j], dp[i][j-1], dp[i-1][j-1])

ما دلالة كل جار

الخلية الموجودة فوقك تعني الحذف، والخلية الموجودة إلى اليسار تعني الإدراج، والخلية القطرية تعني الاستبدال. وتختار min الخيار الأقل تكلفة فحسب.

الحالات الأساسية للسلسلة الفارغة

يتطلب تحويل سلسلة طولها i إلى سلسلة فارغة حذف i محرفًا. لذلك املأ الصف والعمود الأولين بالقيم 0 و1 و2 وهكذا.

for i in range(n+1):
    dp[i][0] = i
for j in range(m+1):
    dp[0][j] = j

حدّد حجم الجدول

استخدم شبكة بحجم n+1 by m+1 حتى تحصل البادئات الفارغة على صف وعمود خاصين بهما. يحافظ هذا الحشو على بساطة الحلقات.

dp = [[0] * (m+1) for _ in range(n+1)]

املأه بالترتيب

كرّر على i وj تصاعديًا بدءًا من 1. تعتمد كل خلية فقط على الجيران المملوءين مسبقًا فوقها وعن يسارها وعلى قطرها.

for i in range(1, n+1):
    for j in range(1, m+1):
        ...

اقرأ المسافة

ينتهي أقل عدد من عمليات التحرير في الزاوية. تكون الإجابة هي dp[n][m] بعد اكتمال الجدول.

distance = dp[n][m]

التكلفة والتنويعات

يعمل هذا في O(n times m) من الوقت. قد تفرض المهام الواقعية تكاليف مختلفة لكل عملية، لكن العلاقة التكرارية نفسها تظل صالحة.

تحقّق سريع

المحرفان A[i-1] وB[j-1] مختلفان. أي علاقة تكرارية تعطي مسافة التحرير؟

مراجعة: مسافة التحرير

يعني التطابق نقل قيمة القطر، بينما يعني عدم التطابق إضافة 1 إلى أصغر ثلاثة جيران. هيّئ الحدود، واقرأ dp[n][m]. ✏️

الأسئلة الشائعة

هل درس «مسافة التحرير خطوةً بخطوة» مجاني؟

نعم — نص درس «مسافة التحرير خطوةً بخطوة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Coding Interview Prep، انتقل إلى CoddyKit PRO. تتضمن دورة Coding Interview Prep 4 دروس في المجموع.

ماذا ستتعلم في «مسافة التحرير خطوةً بخطوة»؟

الإدراج والحذف والاستبدال للتحويل تتمرن على Coding Interview Prep مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Coding Interview Prep؟

لا تُشترط خبرة سابقة. Coding Interview Prep على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «مسافة التحرير خطوةً بخطوة»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Coding Interview Prep هذا؟

نعم. كل درس في Coding Interview Prep يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. عدّ المسارات على شبكة
  2. أقل مجموع لمسار مع العوائق
  3. أطول تتابع مشترك
  4. مسافة التحرير خطوةً بخطوة
← العودة إلى Coding Interview Prep