خوارزمية البحث عن العرض الأول (BFS) مع مثال

ما هي خوارزمية BFS (بحث العرض الأول)؟

بحث العرض الأول (BFS) هو خوارزمية تُستخدم في رسم البيانات أو البياناتarchiنانوغرام شجرة أو عبور الهياكل. الشكل الكامل لـ BFS هو بحث العرض الأول.

تقوم الخوارزمية بزيارة جميع العقد الرئيسية في الرسم البياني ووضع علامات عليها بكفاءة وبعرض دقيقwise موضة. تحدد هذه الخوارزمية عقدة واحدة (نقطة البداية أو المصدر) في الرسم البياني ثم تقوم بزيارة جميع العقد المجاورة للعقدة المحددة. تذكر أن BFS يصل إلى هذه العقد واحدة تلو الأخرى.

بمجرد أن تقوم الخوارزمية بزيارة عقدة البداية ووضع علامة عليها، فإنها تتحرك نحو العقدة الجديدةaresالعقد التي لم تتم زيارتها وتحليلها. بمجرد زيارتها، يتم وضع علامة على كافة العقد. تستمر هذه التكرارات حتى تتم زيارة جميع عقد الرسم البياني ووضع علامة عليها بنجاح.

ما هو اجتياز الرسم البياني؟

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

• archiبنية خوارزمية BFS

Archiبنية خوارزمية BFS

  1. في المستويات المختلفة للبيانات، يمكنك وضع علامة على أي عقدة كنقطة البداية أو العقدة الأولية لبدء الاجتياز. سيقوم BFS بزيارة العقدة ووضع علامة عليها على أنها تمت زيارتها ووضعها في قائمة الانتظار.
  2. الآن سيقوم BFS بزيارة شمال شرقarest والعقد التي لم تتم زيارتها ووضع علامات عليها. تتم إضافة هذه القيم أيضًا إلى قائمة الانتظار. قائمة الانتظار تعمل على نموذج ما يصرف أولاً (FIFO)..
  3. وبطريقة مماثلة، ما تبقى من نيaresيتم تحليل العقد التي لم تتم زيارتها على الرسم البياني ووضع علامة عليها وإضافتها إلى قائمة الانتظار. يتم حذف هذه العناصر من قائمة الانتظار عند استلامها وطباعتها كنتيجة.

لماذا نحتاج إلى خوارزمية BFS؟

هناك العديد من الأسباب لاستخدام خوارزمية BFS في حد ذاتهاarchiنانوغرام لمجموعة البيانات الخاصة بك. بعض الجوانب الأكثر حيوية التي تجعل هذه الخوارزمية خيارك الأول هي:

  • يعد BFS مفيدًا لتحليل العقد في الرسم البياني وإنشاء أقصر مسار لعبورها.
  • يمكن لـ BFS اجتياز الرسم البياني بأقل عدد من التكرارات.
  • • archiإن بنية خوارزمية BFS بسيطة وقوية.
  • تتمتع نتيجة خوارزمية BFS بمستوى عالٍ من الدقة مقارنة بغيرها algorithms.
  • تكون تكرارات BFS سلسة، ولا توجد إمكانية لوقوع هذه الخوارزمية في مشكلة حلقة لا نهائية.

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

يتطلب اجتياز الرسم البياني أن تقوم الخوارزمية بزيارة و/أو فحص و/أو تحديث كل عقدة لم تتم زيارتها في بنية تشبه الشجرة. يتم تصنيف عمليات اجتياز الرسم البياني حسب الترتيب الذي تزور به العقد على الرسم البياني.

تبدأ خوارزمية BFS operaمن العقدة الأولى أو عقدة البداية في الرسم البياني ويجتازها بدقة. بمجرد اجتياز العقدة الأولية بنجاح، تتم زيارة القمة التالية التي لم يتم اجتيازها في الرسم البياني ووضع علامة عليها.

ومن ثم، يمكنك القول أن جميع العقد المجاورة للقمة الحالية تمت زيارتها واجتيازها في التكرار الأول. يتم استخدام منهجية قائمة الانتظار البسيطة لتنفيذ عمل خوارزمية BFS، وتتكون من المتابعةwing خطوات:

الخطوة 1)

عمل خوارزمية BFS

كل قمة أو عقدة في الرسم البياني معروفة. على سبيل المثال، يمكنك وضع علامة على العقدة على أنها V.

الخطوة 2)

عمل خوارزمية BFS

في حالة عدم الوصول إلى قمة الرأس V، قم بإضافة قمة الرأس V إلى قائمة انتظار BFS

الخطوة 3)

عمل خوارزمية BFS

ابدأ بحث BFS، وبعد الانتهاء، ضع علامة على vertex V كمزار تمت زيارته.

الخطوة 4)

عمل خوارزمية BFS

قائمة انتظار BFS لا تزال غير فارغة، وبالتالي قم بإزالة قمة الرأس V للرسم البياني من قائمة الانتظار.

الخطوة 5)

عمل خوارزمية BFS

استرجع جميع القمم المتبقية على الرسم البياني المجاورة للقمة V

الخطوة 6)

عمل خوارزمية BFS

لكل قمة مجاورة، دعنا نقول V1، في حالة عدم زيارتها بعد، قم بإضافة V1 إلى قائمة انتظار BFS

الخطوة 7)

عمل خوارزمية BFS

سيقوم BFS بزيارة V1 ووضع علامة عليه كمزار وحذفه من قائمة الانتظار.

مثال خوارزمية BFS

الخطوة 1)

مثال خوارزمية BFS

لديك رسم بياني لسبعة numbers تتراوح من 0 – 6.

الخطوة 2)

مثال خوارزمية BFS

تم وضع علامة على 0 أو صفر كعقدة جذر.

الخطوة 3)

مثال خوارزمية BFS

تتم زيارة 0 ووضع علامة عليه وإدراجه في بنية بيانات قائمة الانتظار.

الخطوة 4)

مثال خوارزمية BFS

تتم زيارة العقد المجاورة وغير التي لم تتم زيارتها المتبقية ووضع علامة عليها وإدراجها في قائمة الانتظار.

الخطوة 5)

مثال خوارزمية BFS

يتم تكرار تكرارات العبور حتى تتم زيارة جميع العقد.

قواعد خوارزمية BFS

فيما يلي قواعد مهمة لاستخدام خوارزمية BFS:

  • قائمة الانتظار (FIFO-أولاً يدخل أولاً يخرج أولاً) هيكل البيانات يستخدم من قبل BFS.
  • يمكنك وضع علامة على أي عقدة في الرسم البياني كجذر والبدء في اجتياز البيانات منه.
  • يجتاز BFS جميع العقد في الرسم البياني ويستمر في إسقاطها عند اكتمالها.
  • يقوم BFS بزيارة عقدة مجاورة لم تتم زيارتها، ويضع علامة "تم" عليها، ويدرجها في قائمة الانتظار.
  • إزالة الرأس السابق من قائمة الانتظار في حالة عدم العثور على قمة مجاورة.
  • تتكرر خوارزمية BFS حتى يتم اجتياز جميع القمم في الرسم البياني بنجاح ووضع علامة عليها كمكتملة.
  • لا توجد حلقات ناتجة عن BFS أثناء اجتياز البيانات من أي عقدة.

تطبيقات خوارزمية BFS

دعونا نلقي نظرة على بعض التطبيقات الواقعية حيث يمكن أن يكون تنفيذ خوارزمية BFS فعالاً للغاية.

  • الرسوم البيانية غير المرجحة: يمكن لخوارزمية BFS بسهولة إنشاء أقصر مسار والحد الأدنى من الشجرة الممتدة لزيارة جميع رؤوس الرسم البياني في أقصر وقت ممكن وبدقة عالية.
  • شبكات P2P: يمكن تنفيذ BFS لتحديد موقع كل ما في الأمرarest أو العقد المجاورة في شبكة نظير إلى نظير. سيؤدي هذا إلى العثور على البيانات المطلوبة بشكل أسرع.
  • برامج زحف الويب: يمكن لمحركات البحث أو برامج زحف الويب إنشاء مستويات متعددة من الفهارس بسهولة من خلال استخدام BFS. يبدأ تنفيذ BFS من المصدر، وهو صفحة الويب، ثم يقوم بزيارة جميع الروابط من ذلك المصدر.
  • أنظمة الملاحة: يمكن لـ BFS المساعدة في العثور على جميع المواقع المجاورة من الموقع الرئيسي أو المصدر.
  • البث الشبكي: يتم توجيه الحزمة التي يتم بثها بواسطة خوارزمية BFS للعثور على جميع العقد التي تحتوي على عنوانها والوصول إليها.

نبذة عامة

  • يعد اجتياز الرسم البياني عملية فريدة تتطلب من الخوارزمية زيارة و/أو فحص و/أو تحديث كل عقدة لم تتم زيارتها في بنية تشبه الشجرة. تعمل خوارزمية BFS على مبدأ مماثل.
  • تعد الخوارزمية مفيدة لتحليل العقد في الرسم البياني وإنشاء أقصر مسار لعبورها.
  • تعبر الخوارزمية الرسم البياني في أقل عدد من التكرارات وفي أقصر وقت ممكن.
  • يحدد BFS عقدة واحدة (نقطة البداية أو المصدر) في الرسم البياني ثم يزور جميع العقد المجاورة للعقدة المحددة. يصل BFS إلى هذه العقد واحدة تلو الأخرى.
  • يتم وضع البيانات التي تمت زيارتها ووضع علامة عليها في قائمة انتظار بواسطة BFS. تعمل قائمة الانتظار على أساس الوارد أولاً يخرج أولاً. وبالتالي، يتم حذف العنصر الموجود في الرسم البياني أولاً وطباعته نتيجة لذلك.
  • لا يمكن أبدًا الوقوع في خوارزمية BFS في حلقة لا نهائية.
  • نظرًا للدقة العالية والتنفيذ القوي، يتم استخدام BFS في العديد من الحلول الواقعية مثل شبكات P2P، وبرامج زحف الويب، والبث عبر الشبكة.