




السمعة:
- إنضم20 أغسطس 2023
- المشاركات 178
- الحلول 10
- مستوى التفاعل 400
- النقاط 63
بسم الله الرحمن الرحيم
اليوم سنتحدث عن خوارزمية مشهورة في البرمجة وهي:
اليوم سنتحدث عن خوارزمية مشهورة في البرمجة وهي:
خوارزمية البحث الثنائي ( Binary Search algorithm)
تعتبر خوارزمية البحث الثنائي واحدة من أكثر الخوارزميات فعالية في البحث عن عنصر داخل قائمة مرتبة. إذا كنت تحب الفعالية والسرعة، فهذه الخوارزمية هي واحدة من أفضل الخيارات! 

كيف تعمل الخوارزمية؟
تخيل أنه لديك قائمة مرتبة من الأرقام (أو الكلمات) وترغب في البحث عن رقم معين داخل هذه القائمة. بدلاً من فحص كل عنصر واحدًا تلو الآخر، كما تفعل في البحث العادي، تستخدم خوارزمية البحث الثنائي طريقة ذكية جداً لتقليص عدد العناصر التي تحتاج لمراجعتها.
- ابدأ بالنصف:
أول شيء، تقوم بتحديد العنصر الموجود في المنتصف. لو كان هو العنصر الذي تبحث عنه، تكون قد انتهيت. - مقارنة العنصر:
إذا كان العنصر الذي تبحث عنه أكبر من العنصر الموجود في المنتصف، فإن هذا يعني أن العنصر الذي تبحث عنه يوجد في النصف الآخر من القائمة (على يمين المنتصف). - تقليص النطاق:
إذا كان العنصر الذي تبحث عنه أصغر من العنصر الموجود في المنتصف، فإن البحث سيقتصر على النصف الأول من القائمة (على يسار المنتصف). - الاستمرار في التقسيم:
كلما كانت المقارنة غير متطابقة، تقوم بتقسيم القائمة إلى نصفين وتعيد العملية حتى تجد العنصر أو تتأكد من أنه غير موجود.
ليش خوارزمية البحث الثنائي ممتعة؟
- سريعة وفعّالة: بفضل تقسيم القائمة إلى نصفين في كل خطوة، الخوارزمية تعمل بكفاءة عالية. في أسوأ الأحوال، سيكون عدد العمليات المطلوبة للبحث في قائمة من الحجم N هو log2(N)\log_2(N)log2(N)، مما يجعلها أسرع بكثير من البحث العادي الذي يعتمد على الفحص الكامل لكل عنصر.
- مباشرة وذكية: بدلاً من فحص كل عنصر، تستخدم الخوارزمية استراتيجيات ذكية لتقليص عدد المقارنات.
تخيل أنك تبحث عن رقم معين في هاتفك بين قائمة ضخمة من الأرقام المخزنة بترتيب معين. باستخدام البحث الثنائي، بدلاً من المرور بكل رقم، الخوارزمية ستوجهك بسرعة إلى النصف الصحيح من القائمة وتقلص عدد الخيارات بسرعة.

المزايا والعيوب:
المزايا:
- كفاءة عالية: العمل بسرعة في القوائم المرتبة.
- بسيطة في التنفيذ: من السهل فهمها وتنفيذها.
- مؤثرة في القوائم الكبيرة: حتى في القوائم التي تحتوي على ملايين العناصر، ستظل الخوارزمية تعمل بكفاءة.
- يجب أن تكون القائمة مرتبة: البحث الثنائي لا يعمل إلا إذا كانت البيانات مرتبة. إذا كانت القائمة غير مرتبة، يجب أولاً ترتيبها، مما يزيد من التكلفة.
- غير مرن في البيانات غير المقارنة: البحث الثنائي يعتمد على المقارنة بين العناصر. لو كان لديك بيانات غير قابلة للمقارنة بشكل مباشر (مثل القوائم غير الرقمية أو الهياكل المعقدة)، فسيكون من الصعب تطبيق الخوارزمية.
متى تستخدمها؟
- عندما يكون لديك قائمة أو مصفوفة مرتبة (أرقام، كلمات، إلخ) وترغب في العثور على عنصر معين بأقل جهد ووقت ممكن. مثلاً، عند البحث في قاعدة بيانات مرتبة أو العثور على قيمة معينة في جدول كبير.

التعديل الأخير بواسطة المشرف: