46 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			46 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | 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/) |