مرحباً بالخوارزميات › البحث 12 / 19 السابق التالي

ملخص

مراجعة النقاط الرئيسية

  • يعتمد البحث الثنائي على البيانات المرتبة، ويبحث عبر تنصيف نطاق البحث مراراً وتكراراً. وهو يشترط أن تكون بيانات الإدخال مرتبة، ولا ينطبق إلا على المصفوفات أو بنى البيانات القائمة على المصفوفات.
  • يحدد البحث بالقوة الغاشمة موضع البيانات عبر اجتياز بنية البيانات. وينطبق البحث الخطي على المصفوفات والقوائم المترابطة، بينما ينطبق البحث بالعرض أولاً والبحث بالعمق أولاً على الرسوم البيانية والأشجار. وهذه الخوارزميات واسعة الانطباق ولا تتطلب أي معالجة مسبقة للبيانات، لكن تعقيدها الزمني مرتفع نسبياً ويبلغ O(n)O(n).
  • البحث بالتجزئة والبحث بالشجرة والبحث الثنائي طرق بحث فعّالة تستطيع تحديد موقع العناصر الهدف بسرعة في بنى بيانات محددة. ولهذه الخوارزميات كفاءة عالية يصل فيها التعقيد الزمني إلى O(log⁡n)O(\log n) أو حتى O(1)O(1)، لكنها تتطلب عادةً بنى بيانات إضافية.
  • نحتاج عملياً إلى تحليل عوامل مثل حجم البيانات ومتطلبات أداء البحث وتكرار استعلام البيانات وتحديثها لاختيار طريقة البحث المناسبة.
  • يناسب البحث الخطي مجموعات البيانات الصغيرة أو البيانات التي تُحدَّث بكثرة؛ ويناسب البحث الثنائي مجموعات البيانات المرتبة الكبيرة؛ ويناسب البحث بالتجزئة الحالات التي تُطلب فيها كفاءة استعلام عالية ولا حاجة فيها إلى استعلامات النطاق؛ ويناسب البحث بالشجرة مجموعات البيانات الديناميكية الكبيرة التي يجب الحفاظ على ترتيبها ودعم استعلامات النطاق فيها.
  • يُعدّ استبدال البحث الخطي بالبحث بالتجزئة استراتيجية شائعة لتحسين زمن التنفيذ، إذ يخفض التعقيد الزمني من O(n)O(n) إلى O(1)O(1).