نظم الرقابة والتألق
دليل الخطوة الأولى لتنفيذ خطي البحث والبحث الملزم في النظم المدمجة
Table of Contents
إن تنفيذ خوارزميات البحث في النظم المدمجة أمر أساسي لاسترجاع البيانات بكفاءة، فالبحث عن خطوط وثنائي هما طريقان مشتركان يستخدمان حسب هيكل البيانات وقيود النظام، ويوفر هذا الدليل تعليمات تدريجية لتنفيذ كل من الخوارزميات في البيئات المدمجة.
Linear search Implementation
ويفحص البحث الخطي كل عنصر في قائمة تسلسلية إلى أن يتم العثور على القيمة المستهدفة أو تنتهي القائمة، وهو بسيط وفعال بالنسبة لمجموعات البيانات الصغيرة أو غير المرصودة.
الخطوات المتخذة لتنفيذ البحث الخطي:
- بدء حلقة لتكرارها عبر المجموعة
- مقارنة كل عنصر بالقيمة المستهدفة
- إذا وجدت تطابقاً، أعيد الرقم القياسي.
- إذا اكتملت الحلقة بدون تطابق، ارجعي إشارة إلى أن العنصر لم يعثر عليه.
قنبل شفرةِ مُكْرِفِ:
In C:]
" int linearSearch (int arr[], int size, int target) { for (int i = 0; i < size; i++) { if (arr[i] target) { return i; } return -1; / Not found }
باء - تنفيذ البحث الملزم
البحث الملزم يتطلب صفيفة مصنّفة ويقسم فترة البحث في نصف كل مرة، وهو أسرع من البحث عن مجموعات بيانات كبيرة.
الخطوات المتخذة لتنفيذ البحث الثنائي:
- وضع مؤشرات أولية منخفضة وشديدة.
- حساب الرقم القياسي الأوسط.
- مقارنة العنصر الأوسط مع الهدف.
- إذا كان متساوياً، إرجع الرقم القياسي الأوسط.
- إذا كان الهدف أقل، تكيف عالياً مع منتصف - 1
- إذا كان الهدف أكبر، تكيف منخفضاً مع منتصف + 1
- اكرر حتى يتم العثور على الهدف أو يكون منخفضاً أعلى من ذلك.
قنبل شفرةِ مُكْرِفِ:
In C:]
" int binarySearch (int arr[], int size, int target) {t low = 0; int high = size - 1; while (low <= high) { int mid = low + (high - low) / 2; if (arr +[mid] target) { return mid; }
اختيار طريقة البحث الصحيح
ويتوقف الاختيار بين البحث الخطي والبحث الثنائي على تنظيم البيانات وحجمها، واستخدام البحث الخطي عن البيانات الصغيرة أو غير المرصودة، والبحث عن المعادن مناسب لمجموعات البيانات الكبيرة والمصنَّفة التي يكون فيها الأداء حاسما.