الفرق بين المراجعتين لصفحة: «Algorithms/Searching Algorithms»

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:خوارزميات البحث}}</noinclude> تتحقق خوارزميات البحث من وجود عنصر معين أو تعيد عنصرًا...'
 
لا ملخص تعديل
 
(2 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة)
سطر 3: سطر 3:


# البحث التسلسلي Sequential Search: في هذا النوع من البحث يجري التنقل عبر عناصر المصفوفة بالتتابع مع التحقق من كل عنصر فيها، ومن الأمثلة على هذا النوع هو البحث الخطّي Linear Search.
# البحث التسلسلي Sequential Search: في هذا النوع من البحث يجري التنقل عبر عناصر المصفوفة بالتتابع مع التحقق من كل عنصر فيها، ومن الأمثلة على هذا النوع هو البحث الخطّي Linear Search.
# البحث المقطعي Interval Search: صُمّمت هذه الخوارزميات تصميمًا خاصًّا للبحث في بنى المعطيات التي تكون مرتّبة. هذه الخوارزميات أكفأ من البحث الخطّي وذلك لأنّها تستهدف منتصف بنية البحث استهدافًا مستمرًّا وتنصّف المساحة المشغولة بواسطة عملية البحث، ومن الأمثلة على هذا النوع هو البحث الثنائي Binary Search.  
# البحث المقطعي Interval Search: صُمّمت هذه الخوارزميات تصميمًا خاصًّا للبحث في بنى المعطيات التي تكون مرتّبة. هذه الخوارزميات أكفأ من البحث الخطّي وذلك لأنّها تستهدف منتصف بنية البحث استهدافًا مستمرًّا وتنصّف المساحة المشغولة بواسطة عملية البحث، ومن الأمثلة على هذا النوع هو البحث الثنائي Binary Search.


== [[Algorithms/linear search|البحث الخطي]] ==
البحث الخطّي Linear Search من أبسط خوارزميات البحث إذ أنّها تمر على عناصر المصفوفة واحدًا تلو الآخر بحثًا عن العنصر المطلوب.
== [[Algorithms/binary search|البحث الثنائي]] ==
تبحث خوارزمية البحث الثنائي Binary Search عن عنصر معين في مصفوفة مرتبة وذلك بتقسيمها باستمرار إلى نصفين والتحقق من وجود العنصر المراد البحث عنه في كلّ نصفٍ إلى أن تعثر على العنصر أو تصل إلى مصفوفة فارغة.
== [[Algorithms/jump search|البحث القفزي]] ==
تتحقق خوارزمية البحث القفزي Jump Search (تعرف كذلك بخوارزمية البحث الكتلي Block Search) من عدد أقل من العناصر (مقارنة بالبحث الخطي) وذلك بالقفز عبر عناصر المصفوفة بخطوات ثابتة، بمعنى تجاوز بعض العناصر عوضًا عن البحث فيها كلّها.
== [[Algorithms/interpolation search|البحث الاستكمالي]] ==
تعدّ خوارزمية البحث الاستكمالي Interpolation Search تحسينًا على البحث الثنائي في بعض الحالات، إذ تكون القيم موزّعة بانتظام في مصفوفة مرتبة فتجري هذه الخوارزمية عملية التحقّق في مواقع مختلفة بالاعتماد على قيمة المفتاح المراد البحث عنه.
== [[Algorithms/exponential search|البحث الأسّي]] ==
تقسّم خوارزمية البحث الأسّي Exponential Search المصفوفة التي يجري البحث فيها إلى مصفوفات فرعية يزداد عدد العناصر فيها ازديادًا أسّيًا (1, 2, 4, 8.... وهكذا إلى حين الوصول إلى مصفوفة جزئية يكون فيها العنصر الأخير أكبر من العنصر المطلوب.
[[تصنيف: الخوارزميات]]
[[تصنيف: الخوارزميات]]

المراجعة الحالية بتاريخ 12:41، 27 سبتمبر 2019

تتحقق خوارزميات البحث من وجود عنصر معين أو تعيد عنصرًا معيّنًا من بنية المعطيات التي يكون العنصر مخزّنًا فيها. وتصنّف هذه الخوارزميات بالاعتماد على طبيعة عملية البحث إلى صنفين رئيسين هما:

  1. البحث التسلسلي Sequential Search: في هذا النوع من البحث يجري التنقل عبر عناصر المصفوفة بالتتابع مع التحقق من كل عنصر فيها، ومن الأمثلة على هذا النوع هو البحث الخطّي Linear Search.
  2. البحث المقطعي Interval Search: صُمّمت هذه الخوارزميات تصميمًا خاصًّا للبحث في بنى المعطيات التي تكون مرتّبة. هذه الخوارزميات أكفأ من البحث الخطّي وذلك لأنّها تستهدف منتصف بنية البحث استهدافًا مستمرًّا وتنصّف المساحة المشغولة بواسطة عملية البحث، ومن الأمثلة على هذا النوع هو البحث الثنائي Binary Search.

البحث الخطي

البحث الخطّي Linear Search من أبسط خوارزميات البحث إذ أنّها تمر على عناصر المصفوفة واحدًا تلو الآخر بحثًا عن العنصر المطلوب.

البحث الثنائي

تبحث خوارزمية البحث الثنائي Binary Search عن عنصر معين في مصفوفة مرتبة وذلك بتقسيمها باستمرار إلى نصفين والتحقق من وجود العنصر المراد البحث عنه في كلّ نصفٍ إلى أن تعثر على العنصر أو تصل إلى مصفوفة فارغة.

البحث القفزي

تتحقق خوارزمية البحث القفزي Jump Search (تعرف كذلك بخوارزمية البحث الكتلي Block Search) من عدد أقل من العناصر (مقارنة بالبحث الخطي) وذلك بالقفز عبر عناصر المصفوفة بخطوات ثابتة، بمعنى تجاوز بعض العناصر عوضًا عن البحث فيها كلّها.

البحث الاستكمالي

تعدّ خوارزمية البحث الاستكمالي Interpolation Search تحسينًا على البحث الثنائي في بعض الحالات، إذ تكون القيم موزّعة بانتظام في مصفوفة مرتبة فتجري هذه الخوارزمية عملية التحقّق في مواقع مختلفة بالاعتماد على قيمة المفتاح المراد البحث عنه.

البحث الأسّي

تقسّم خوارزمية البحث الأسّي Exponential Search المصفوفة التي يجري البحث فيها إلى مصفوفات فرعية يزداد عدد العناصر فيها ازديادًا أسّيًا (1, 2, 4, 8.... وهكذا إلى حين الوصول إلى مصفوفة جزئية يكون فيها العنصر الأخير أكبر من العنصر المطلوب.