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

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

#### شروط مهمة

*   **_النمط_** هو السلسلة المراد البحث عنها. النظر في طول نمط كأحرف **_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) 
` 

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

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

#### تطبيقات

*   **_كشف الانتحال_**

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

[رابين كارب على ويكيبيديا](https://en.wikipedia.org/wiki/Rabin%E2%80%93Karp_algorithm/)