|
آموزش الگوريتم نويسي -
آموزش سطح متوسط
|
|
نوشته شده توسط محمد حسين سعادت فر
|
|
الگوریتم بلمن-فورد الگوریتم پیمایش گراف است که مسئلهٔ کوتاهترین مسیر از مبدأ واحد را برای گرافهای وزنداری که وزن یالها ممکن استن منفی باشد حل میکند.
الگوریتم دَیکسترا مسئلهٔ مشابهی را در زمان اجرای کمتر حل میکند، اما در آن الگوریتم میبایست وزن یالها اعداد نامنفی باشند. بنابراین در عمل الگوریتم بلمن-فورد فقط برای گرافهایی که یال با وزن منفی دارند استفاده میشود.
قبل از توضیح الگوریتم لازم به ذکر است که اگر گراف دوری با مجموع وزن منفی داشته باشد که از مبدأ قابل دستیابی باشد، مسئلهٔ کوتاهترین مسیر جوابی نخواهد داشت، چراکه با پیمایش آن دور به هر تعداد بار دلخواه، مسیرهایی با وزن کمتر و کمتر حاصل خواهد شد.
|
|
ادامه مطلب...
|