چگونه از BFS برای یافتن کوتاه ترین مسیر استفاده کنم؟
چگونه از BFS برای یافتن کوتاه ترین مسیر استفاده کنم؟

تصویری: چگونه از BFS برای یافتن کوتاه ترین مسیر استفاده کنم؟

تصویری: چگونه از BFS برای یافتن کوتاه ترین مسیر استفاده کنم؟
تصویری: هوش مصنوعی (جلسه نوزدهم) - جستجوی رقابتی و هرس آلفا-بتا 2024, ممکن است
Anonim

به پیدا کردن را کوتاه ترین مسیر ، تنها کاری که باید انجام دهید این است که از منبع شروع کنید و a را انجام دهید وسعت اول جستجو کنید و هنگامی که شما متوقف شد پیدا کردن گره مقصد شما تنها کاری که باید انجام دهید این است که یک آرایه previous[n] داشته باشید که گره قبلی را برای هر گره بازدید شده ذخیره می کند. منبع قبلی می تواند null باشد.

همچنین پرسیده شد، چرا BFS کوتاه ترین مسیر را پیدا می کند؟

ما این را می گوییم BFS است اگر بخواهیم از الگوریتم استفاده کنیم کوتاه ترین مسیر را پیدا کنید در یک نمودار بدون جهت و بدون وزن. ادعا برای BFS این است که اولین باری که یک گره در طول پیمایش کشف می شود، آن فاصله از منبع است خواهد شد به ما بده کوتاه ترین مسیر . این را نمی توان در مورد یک نمودار وزنی نیز گفت.

همچنین بدانید کوتاه ترین مسیر در پیچ و خم کجاست؟ یافتن کوتاه ترین مسیر در پیچ و خم

  1. برو بالا: (x, y) –> (x – 1, y)
  2. به چپ بروید: (x, y) –> (x, y – 1)
  3. پایین بروید: (x, y) –> (x + 1, y)
  4. به راست بروید: (x, y) –> (x, y + 1)

همچنین بدانید آیا می توانیم از DFS برای یافتن کوتاه ترین مسیر استفاده کنیم؟

نه، شما نمی تواند از DFS برای یافتن کوتاه ترین مسیر استفاده کنید در یک نمودار بدون وزن اینطور نیست که، یافته را کوتاه ترین مسیر بین دو گره منحصراً توسط BFS حل می شود. در یک نمودار بدون وزن کوتاه ترین مسیر کمترین تعداد لبه هایی هستند که باید از گره های مبدأ به مقصد پیموده شوند.

زمان اجرای BFS چقدر است؟

پیچیدگی از جستجوی اول پهنا جستجوی اول دارد زمان اجرا از O (V + E) O(V + E) O(V+E) زیرا هر رأس و هر یال یک بار بررسی می شود. بسته به ورودی نمودار، O (E) O(E) O(E) می تواند بین O (1) O(1) O(1) و O (V 2) O(V^2) O(V2) باشد.).

توصیه شده: