مضى على الشبكة و يوم من العطاء.

خوارزمية البحث الثنائي || Binary Search algorithm

shadowshadow is verified member.

{ | مشرف قسم لغات البرمجة | }
.:: طاقم المشرفين ::.
.:: كاتب تقني ::.

السمعة:

بسم الله الرحمن الرحيم

اليوم سنتحدث عن خوارزمية مشهورة في البرمجة وهي:

خوارزمية البحث الثنائي ( Binary Search algorithm) 🔍

تعتبر خوارزمية البحث الثنائي واحدة من أكثر الخوارزميات فعالية في البحث عن عنصر داخل قائمة مرتبة. إذا كنت تحب الفعالية والسرعة، فهذه الخوارزمية هي واحدة من أفضل الخيارات! 🚀


binary Search.gif

كيف تعمل الخوارزمية؟🤔

تخيل أنه لديك قائمة مرتبة من الأرقام (أو الكلمات) وترغب في البحث عن رقم معين داخل هذه القائمة. بدلاً من فحص كل عنصر واحدًا تلو الآخر، كما تفعل في البحث العادي، تستخدم خوارزمية البحث الثنائي طريقة ذكية جداً لتقليص عدد العناصر التي تحتاج لمراجعتها.

  1. ابدأ بالنصف:
    أول شيء، تقوم بتحديد العنصر الموجود في المنتصف. لو كان هو العنصر الذي تبحث عنه، تكون قد انتهيت. 🎯
  2. مقارنة العنصر:
    إذا كان العنصر الذي تبحث عنه أكبر من العنصر الموجود في المنتصف، فإن هذا يعني أن العنصر الذي تبحث عنه يوجد في النصف الآخر من القائمة (على يمين المنتصف). ➡️
  3. تقليص النطاق:
    إذا كان العنصر الذي تبحث عنه أصغر من العنصر الموجود في المنتصف، فإن البحث سيقتصر على النصف الأول من القائمة (على يسار المنتصف). ⬅️
  4. الاستمرار في التقسيم:
    كلما كانت المقارنة غير متطابقة، تقوم بتقسيم القائمة إلى نصفين وتعيد العملية حتى تجد العنصر أو تتأكد من أنه غير موجود. 🔄

ليش خوارزمية البحث الثنائي ممتعة؟😎

  • سريعة وفعّالة: بفضل تقسيم القائمة إلى نصفين في كل خطوة، الخوارزمية تعمل بكفاءة عالية. في أسوأ الأحوال، سيكون عدد العمليات المطلوبة للبحث في قائمة من الحجم N هو log⁡2(N)\log_2(N)log2(N)، مما يجعلها أسرع بكثير من البحث العادي الذي يعتمد على الفحص الكامل لكل عنصر. ⚡
  • مباشرة وذكية: بدلاً من فحص كل عنصر، تستخدم الخوارزمية استراتيجيات ذكية لتقليص عدد المقارنات. 💡
مثال حقيقي:
تخيل أنك تبحث عن رقم معين في هاتفك بين قائمة ضخمة من الأرقام المخزنة بترتيب معين. باستخدام البحث الثنائي، بدلاً من المرور بكل رقم، الخوارزمية ستوجهك بسرعة إلى النصف الصحيح من القائمة وتقلص عدد الخيارات بسرعة. 📱


المزايا والعيوب:

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

متى تستخدمها؟

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

اليوم سنتحدث عن خوارزمية مشهورة في البرمجة وهي:



تعتبر خوارزمية البحث الثنائي واحدة من أكثر الخوارزميات فعالية في البحث عن عنصر داخل قائمة مرتبة. إذا كنت تحب الفعالية والسرعة، فهذه الخوارزمية هي واحدة من أفضل الخيارات! 🚀


مشاهدة المرفق 15852




تخيل أنه لديك قائمة مرتبة من الأرقام (أو الكلمات) وترغب في البحث عن رقم معين داخل هذه القائمة. بدلاً من فحص كل عنصر واحدًا تلو الآخر، كما تفعل في البحث العادي، تستخدم خوارزمية البحث الثنائي طريقة ذكية جداً لتقليص عدد العناصر التي تحتاج لمراجعتها.

  1. ابدأ بالنصف:
    أول شيء، تقوم بتحديد العنصر الموجود في المنتصف. لو كان هو العنصر الذي تبحث عنه، تكون قد انتهيت. 🎯
  2. مقارنة العنصر:
    إذا كان العنصر الذي تبحث عنه أكبر من العنصر الموجود في المنتصف، فإن هذا يعني أن العنصر الذي تبحث عنه يوجد في النصف الآخر من القائمة (على يمين المنتصف). ➡️
  3. تقليص النطاق:
    إذا كان العنصر الذي تبحث عنه أصغر من العنصر الموجود في المنتصف، فإن البحث سيقتصر على النصف الأول من القائمة (على يسار المنتصف). ⬅️
  4. الاستمرار في التقسيم:
    كلما كانت المقارنة غير متطابقة، تقوم بتقسيم القائمة إلى نصفين وتعيد العملية حتى تجد العنصر أو تتأكد من أنه غير موجود. 🔄



  • سريعة وفعّالة: بفضل تقسيم القائمة إلى نصفين في كل خطوة، الخوارزمية تعمل بكفاءة عالية. في أسوأ الأحوال، سيكون عدد العمليات المطلوبة للبحث في قائمة من الحجم N هو log⁡2(N)\log_2(N)log2(N)، مما يجعلها أسرع بكثير من البحث العادي الذي يعتمد على الفحص الكامل لكل عنصر. ⚡
  • مباشرة وذكية: بدلاً من فحص كل عنصر، تستخدم الخوارزمية استراتيجيات ذكية لتقليص عدد المقارنات. 💡
مثال حقيقي:
تخيل أنك تبحث عن رقم معين في هاتفك بين قائمة ضخمة من الأرقام المخزنة بترتيب معين. باستخدام البحث الثنائي، بدلاً من المرور بكل رقم، الخوارزمية ستوجهك بسرعة إلى النصف الصحيح من القائمة وتقلص عدد الخيارات بسرعة. 📱





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



  • عندما يكون لديك قائمة أو مصفوفة مرتبة (أرقام، كلمات، إلخ) وترغب في العثور على عنصر معين بأقل جهد ووقت ممكن. مثلاً، عند البحث في قاعدة بيانات مرتبة أو العثور على قيمة معينة في جدول كبير. 📚
خوارزمية البحث الثنائي هي واحدة من الخوارزميات التي تساعدنا في إيجاد الحلول بسرعة وبدقة دون الحاجة لتفكير معقد. باختصار، إنها طريقة ذكية ومباشرة للبحث! 😊
الله يعطيك العافيه شادو :love:
 
بسم الله الرحمن الرحيم

اليوم سنتحدث عن خوارزمية مشهورة في البرمجة وهي:



تعتبر خوارزمية البحث الثنائي واحدة من أكثر الخوارزميات فعالية في البحث عن عنصر داخل قائمة مرتبة. إذا كنت تحب الفعالية والسرعة، فهذه الخوارزمية هي واحدة من أفضل الخيارات! 🚀


مشاهدة المرفق 15852



تخيل أنه لديك قائمة مرتبة من الأرقام (أو الكلمات) وترغب في البحث عن رقم معين داخل هذه القائمة. بدلاً من فحص كل عنصر واحدًا تلو الآخر، كما تفعل في البحث العادي، تستخدم خوارزمية البحث الثنائي طريقة ذكية جداً لتقليص عدد العناصر التي تحتاج لمراجعتها.

  1. ابدأ بالنصف:
    أول شيء، تقوم بتحديد العنصر الموجود في المنتصف. لو كان هو العنصر الذي تبحث عنه، تكون قد انتهيت. 🎯
  2. مقارنة العنصر:
    إذا كان العنصر الذي تبحث عنه أكبر من العنصر الموجود في المنتصف، فإن هذا يعني أن العنصر الذي تبحث عنه يوجد في النصف الآخر من القائمة (على يمين المنتصف). ➡️
  3. تقليص النطاق:
    إذا كان العنصر الذي تبحث عنه أصغر من العنصر الموجود في المنتصف، فإن البحث سيقتصر على النصف الأول من القائمة (على يسار المنتصف). ⬅️
  4. الاستمرار في التقسيم:
    كلما كانت المقارنة غير متطابقة، تقوم بتقسيم القائمة إلى نصفين وتعيد العملية حتى تجد العنصر أو تتأكد من أنه غير موجود. 🔄



  • سريعة وفعّالة: بفضل تقسيم القائمة إلى نصفين في كل خطوة، الخوارزمية تعمل بكفاءة عالية. في أسوأ الأحوال، سيكون عدد العمليات المطلوبة للبحث في قائمة من الحجم N هو log⁡2(N)\log_2(N)log2(N)، مما يجعلها أسرع بكثير من البحث العادي الذي يعتمد على الفحص الكامل لكل عنصر. ⚡
  • مباشرة وذكية: بدلاً من فحص كل عنصر، تستخدم الخوارزمية استراتيجيات ذكية لتقليص عدد المقارنات. 💡
مثال حقيقي:
تخيل أنك تبحث عن رقم معين في هاتفك بين قائمة ضخمة من الأرقام المخزنة بترتيب معين. باستخدام البحث الثنائي، بدلاً من المرور بكل رقم، الخوارزمية ستوجهك بسرعة إلى النصف الصحيح من القائمة وتقلص عدد الخيارات بسرعة. 📱



المزايا:

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



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

آخر المشاركات

فانوس

رمضان
عودة
أعلى