يعد البحث الثنائي خوارزمية أكثر كفاءة للعثور على عنصر في مصفوفة مرتبة. إنه يعمل عن طريق تقسيم فترة البحث إلى النصف بشكل متكرر. فيما يلي عرض تفصيلي لوظيفة البحث الثنائي الخاصة بك:
function binarySearch(array $arr, float|int $x) { $low = 0; $high = count($arr)-1; // $midIndex = (int) ($low ($high - $low)/2); $i = 0; while($low $arr[$midIndex]){ $low = $midIndex 1; echo $low."\n"; }else{ $high = $midIndex - 1; } } return "The number {$x} was not found in the array"; } echo binarySearch([1,2,3,4,5,6,7,8,9,10,44,45,46,47,48,49,50], 45)
وظيفة البحث الثنائي تقبل معلمتين:
يعد البحث الخطي أحد أبسط خوارزميات البحث المستخدمة للعثور على عنصر معين في مصفوفة. دعونا نحلل وظيفة البحث الخطي في لغة PHP.
function linearSearch(array $arr, float|int $x) { for($i=0; $iتقبل وظيفة البحث الخطي معلمتين:
- $arr: مصفوفة من الأعداد الصحيحة.
- $x: الرقم المطلوب البحث عنه، والذي يمكن أن يكون عددًا عشريًا أو عددًا صحيحًا.
- تتكرر حلقة for على كل عنصر من عناصر المصفوفة. ترجع الدالة count($arr) عدد العناصر في المصفوفة.
- داخل الحلقة، يتحقق الكود مما إذا كان العنصر الحالي ($arr[$i]) يساوي $x. إذا تم العثور على تطابق، يتم إرجاع رسالة تشير إلى الفهرس الذي تم العثور على الرقم فيه.
- إذا اكتملت الحلقة دون العثور على الرقم، تقوم الدالة بإرجاع رسالة تشير إلى عدم العثور على الرقم في المصفوفة.
- البحث الخطي واضح وسهل التنفيذ. يقوم بفحص كل عنصر من عناصر المصفوفة بشكل تسلسلي حتى يتم العثور على العنصر المطلوب أو الوصول إلى نهاية المصفوفة. هذا الأسلوب بسيط ولكنه قد يكون غير فعال بالنسبة للمصفوفات الكبيرة، حيث أن تعقيده الزمني يبلغ O(n).
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3