"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > خوارزميات البحث

خوارزميات البحث

تم النشر بتاريخ 2024-07-31
تصفح:641

Search Algorithms

فهم البحث الثنائي في PHP

يعد البحث الثنائي خوارزمية أكثر كفاءة للعثور على عنصر في مصفوفة مرتبة. إنه يعمل عن طريق تقسيم فترة البحث إلى النصف بشكل متكرر. فيما يلي عرض تفصيلي لوظيفة البحث الثنائي الخاصة بك:

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)

وظيفة البحث الثنائي تقبل معلمتين:

  1. $arr: مصفوفة مرتبة من الأعداد الصحيحة.
  2. $x: الرقم المطلوب البحث عنه، والذي يمكن أن يكون عددًا عشريًا أو عددًا صحيحًا.
  3. تتم تهيئة $low للفهرس الأول للمصفوفة.
  4. تمت تهيئة $high إلى الفهرس الأخير للمصفوفة.
  5. $i هو عداد لتتبع عدد التكرارات.
  6. تعمل الحلقة while طالما أن الفاصل الزمني للبحث صالح (المنخفض أقل من أو يساوي الارتفاع $).
  7. يتم حساب $midIndex باعتباره المؤشر الأوسط للفاصل الزمني الحالي.
  8. إذا كان العنصر الأوسط يساوي $x، تقوم الدالة بإرجاع الفهرس وعدد التكرارات.
  9. إذا كان $x أكبر من العنصر الأوسط، فاضبط $low إلى midIndex 1 (قم بتضييق نطاق البحث إلى النصف العلوي).
  10. إذا كان $x أقل من العنصر الأوسط، فاضبط $high على midIndex - 1 (قم بتضييق نطاق البحث إلى النصف السفلي).

فهم البحث الخطي في PHP

يعد البحث الخطي أحد أبسط خوارزميات البحث المستخدمة للعثور على عنصر معين في مصفوفة. دعونا نحلل وظيفة البحث الخطي في لغة PHP.

function linearSearch(array $arr, float|int $x)
{
    for($i=0; $i 



تقبل وظيفة البحث الخطي معلمتين:

  1. $arr: مصفوفة من الأعداد الصحيحة.
  2. $x: الرقم المطلوب البحث عنه، والذي يمكن أن يكون عددًا عشريًا أو عددًا صحيحًا.
  3. تتكرر حلقة for على كل عنصر من عناصر المصفوفة. ترجع الدالة count($arr) عدد العناصر في المصفوفة.
  4. داخل الحلقة، يتحقق الكود مما إذا كان العنصر الحالي ($arr[$i]) يساوي $x. إذا تم العثور على تطابق، يتم إرجاع رسالة تشير إلى الفهرس الذي تم العثور على الرقم فيه.
  5. إذا اكتملت الحلقة دون العثور على الرقم، تقوم الدالة بإرجاع رسالة تشير إلى عدم العثور على الرقم في المصفوفة.
  6. البحث الخطي واضح وسهل التنفيذ. يقوم بفحص كل عنصر من عناصر المصفوفة بشكل تسلسلي حتى يتم العثور على العنصر المطلوب أو الوصول إلى نهاية المصفوفة. هذا الأسلوب بسيط ولكنه قد يكون غير فعال بالنسبة للمصفوفات الكبيرة، حيث أن تعقيده الزمني يبلغ O(n).
بيان الافراج هذه المقالة مستنسخة على: https://dev.to/ayowandeapp/search-algorithms-2613?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3