freeCodeCamp/guide/arabic/algorithms/string-matching-algorithms/rabin-karp-algorithm/index.md

2.2 KiB

title localeTitle
Rabin Karp Algorithm خوارزمية رابين كارب

خوارزمية رابين كارب

  • خوارزمية مطابقة / بحث عن الخوارزمية طورها مايكل رابين وريتشارد م. كارب.
  • يستخدم تقنية التجزئة و القوة الغاشمة للمقارنة.

شروط مهمة

  • النمط هو السلسلة المراد البحث عنها. النظر في طول نمط كأحرف M.
  • النص هو النص الكامل الذي سيتم البحث عن النمط منه. النظر في طول النص كأحرف N.

ما هي القوة الغاشمة المقارنة؟

في مقارنة القوة الغاشمة يتم مقارنة كل حرف للنمط مع كل حرف من النص حتى يتم العثور على أحرف غير متطابقة.

العمل من خوارزمية رابين كارب

  1. حساب قيمة التجزئة للنمط
  2. حساب قيمة التجزئة من الشخصيات M الأولى من النص
  3. قارن بين قيم التجزئة
  4. إذا كانت غير متساوية ، قم بحساب قيمة التجزئة للأحرف M للنص التالي وقارن مرة أخرى.
  5. إذا كانوا متساوين ، قم بإجراء مقارنة القوة الغاشمة.

hash_p = hash value of pattern hash_t = hash value of first M letters in body of text do if (hash_p == hash_t) brute force comparison of pattern and selected section of text hash_t= hash value of next section of text, one character over while (end of text or brute force comparison == true)

ميزة أكثر من خوارزمية مطابقة سلسلة ناييف

ينتج عن هذه التقنية مقارنة واحدة فقط لكل تسلسل فرعي للنص ، وتكون القوة الغاشمة مطلوبة فقط عندما تتطابق قيم هاش.

تطبيقات

  • كشف الانتحال

معلومات اكثر:

رابين كارب على ويكيبيديا