الفرق بين البحث الخطي والبحث الثنائي
المحتوى
البحث الخطي والبحث الثنائي هما الطريقتان اللتان تستخدمان في المصفوفات البحث العناصر. البحث هو عملية البحث عن عنصر داخل قائمة العناصر المخزنة في أي ترتيب أو بشكل عشوائي.
الفرق الرئيسي بين البحث الخطي والبحث الثنائي هو أن البحث الثنائي يستغرق وقتًا أقل للبحث عن عنصر من قائمة العناصر المصنفة. لذلك يستنتج أن كفاءة طريقة البحث الثنائية أكبر من البحث الخطي.
هناك اختلاف آخر بين الاثنين وهو أن هناك شرطًا أساسيًا للبحث الثنائي ، أي أن العناصر يجب أن تكون مرتبة بينما في البحث الخطي لا يوجد مثل هذا الشرط المسبق. على الرغم من استخدام كل من أساليب البحث تقنيات مختلفة والتي تمت مناقشتها أدناه.
- رسم بياني للمقارنة
- فريف
- الاختلافات الرئيسية
- استنتاج
رسم بياني للمقارنة
أساس للمقارنة | البحث الخطي | بحث ثنائي |
---|---|---|
تعقيد الوقت | على) | O (سجل 2 N) |
أفضل وقت القضية | العنصر الأول يا (1) | عنصر مركز يا (1) |
شرط أساسي لمجموعة | لا حاجة | يجب أن تكون المصفوفة مرتبة |
الحالة الأسوأ لعدد N من العناصر | N مقارنات مطلوبة | يمكن أن تختتم بعد تسجيل فقط2 مقارنات N |
يمكن تنفيذها على | صفيف والقائمة المرتبطة | لا يمكن تنفيذها مباشرة على قائمة مرتبطة |
إدراج العملية | إدراج بسهولة في نهاية القائمة | تتطلب المعالجة لإدراجها في مكانها الصحيح للحفاظ على قائمة مرتبة. |
نوع الخوارزمية | تكراري في الطبيعة | فرق تسد في الطبيعة |
فائدة | سهل الاستخدام ولا حاجة لأي عناصر مطلوبة. | على أي حال خوارزمية صعبة والعناصر ينبغي تنظيمها في النظام. |
أسطر من التعليمات البرمجية | أقل | أكثر من |
تعريف البحث الخطي
في البحث الخطي ، يتم استرداد كل عنصر من عناصر الصفيف واحدًا تلو الآخر بترتيب منطقي والتحقق مما إذا كان العنصر المطلوب أم لا. لن ينجح البحث إذا تم الوصول إلى جميع العناصر ، ولم يتم العثور على العنصر المطلوب. في أسوأ الحالات ، هو عدد الحالات المتوسطة التي قد نضطر إلى فحص نصف حجم الصفيف (n / 2).
لذلك يمكن تعريف البحث الخطي على أنه الأسلوب الذي يجتاز الصفيف بالتسلسل لتحديد موقع العنصر المحدد. يوضح البرنامج الموضح أدناه البحث عن عنصر من الصفيف باستخدام البحث.
نجاعة البحث الخطي
يحدد استهلاك الوقت أو عدد المقارنات التي تم إجراؤها في البحث عن سجل في جدول البحث كفاءة هذه التقنية. إذا كان السجل المطلوب موجودًا في الموضع الأول من جدول البحث ، فيتم إجراء مقارنة واحدة فقط. عندما يكون السجل المطلوب هو السجل الأخير ، فيجب إجراء مقارنات n. إذا كان السجل سيقدم في مكان ما في جدول البحث ، في المتوسط ، فسيكون عدد المقارنات (n + 1/2). أسوأ حالة لهذه التقنية هي O (n) لتقف على ترتيب التنفيذ.
برنامج C للبحث عن عنصر باستخدام تقنية البحث الخطي.
#تضمن البحث الثنائي هو خوارزمية فعالة للغاية. تستهلك تقنية البحث هذه وقتًا أقل في البحث عن العنصر المحدد في الحد الأدنى من المقارنات الممكنة. للقيام بالبحث الثنائي ، أولاً ، علينا فرز عناصر المصفوفة. ويرد المنطق وراء هذه التقنية أدناه: هناك ثلاث حالات يمكن أن تنشأ: كرر نفس الخطوات حتى يتم العثور على عنصر أو استنفاد في منطقة البحث. في هذه الخوارزمية ، تقل مساحة البحث في كل مرة. وبالتالي فإن عدد المقارنات على الأكثر سجل (N + 1). نتيجة لذلك ، تعتبر خوارزمية فعالة عند مقارنتها بالبحث الخطي ، لكن يجب تصنيف المصفوفة قبل إجراء البحث الثنائي. برنامج C للعثور على عنصر مع تقنية البحث الثنائية. #تضمن يمكن أن تكون خوارزميات البحث الخطية والثنائية مفيدة وفقًا للتطبيق. عندما تكون المصفوفة هي بنية البيانات ويتم ترتيب العناصر بترتيب فرز ، يُفضل البحث الثنائي بسرعةالبحث. إذا كانت القائمة المرتبطة هي بنية البيانات بغض النظر عن كيفية ترتيب العناصر ، يتم اعتماد البحث الخطي بسبب عدم توفر التنفيذ المباشر لخوارزمية البحث الثنائية. لا يمكن استخدام خوارزمية البحث الثنائي النموذجي في قائمة مرتبطة لأن القائمة المرتبطة ديناميكية بطبيعتها ولا يعرف مكان تعيين العنصر الأوسط فعليًا. وبالتالي ، هناك شرط لتصميم الاختلاف في خوارزمية البحث الثنائي التي يمكن أن تعمل على القائمة المرتبطة أيضًا لأن البحث الثنائي أسرع في التنفيذ من البحث الخطي.تعريف البحث الثنائي
استنتاج