سایت در حال بارگذاری است ...

الگوریتم فلوید- وارشال در #c سی شارپ csharp، طراحی الگوریتم

موضوع پروژه: الگوریتم فلوید- وارشال در #c سی شارپ csharp، طراحی الگوریتم |نسخه نرم افزار:visual studio|

در علوم کامپیوتر الگوریتم فلوید-وارشال یک الگوریتم تحلیل گراف برای پیدا کردن کوتاهترین مسیر در یگ گراف جهت دار و وزن دار می‌باشد .با یکبار اجرای این الگوریتم کوتاهترین مسیر بین همهٔ جفت راس‌ها پیدا خواهد شد. الگوریتم فلوید-وارشال به نام استفن وارشال و روبرت فلوید نامگذاری شده‌است. این الگوریتم یک مثال از برنامه نویسی پویا می‌باشد. در این الگوریتم، ابتدا ماتریس مجاورت برای نقاط گراف نوشته شده و در مرحله ی بعد با استفاده از یک راس واسطه، کوتاه ترین فاصله بین نقاط را محاسبه کرده و ماتریس را با مقادیر جدید بازنویسی می کند. پس از آن دو نقطه به عنوان واسطه انتخاب شده و ماتریس جدید به دست می آید. با تکرار این روند الگوریتم به پایان رسیده و در نهایت ماتریسی ایجاد شده که کوتاه ترین مسیر بین تمامی نقاط را محاسبه کرده است. بدیهی است که کوتاه ترین مسیر بین مبدا و مقصد را می توان به راحتی از ماتریس تشکیل شده استخراج نمود.
تصویر برنامه
bb

الگوریتم وارشال برای حل مسایل زیر می‌تواند استفاده شود.

1-کوتاهترین مسیرها در گراف‌های جهت دار

2-بستار متعدی گراف‌های جهت دار

3-در فرمول عمومی الگوریتم وارشال گراف بی وزن می‌باشد و توسط یک ماتریس مجاورت نمایش داده شده‌است.

4- وارون سازی یک ماتریس حقیقی

5- تست کردن اینکه آیا یک گراف بی جهت، دو قسمتی می‌باشد یا خیر.

6-محاسبه سریع شبکه‌های راه یاب

مطلب مفیدی برای شما بود ؟ پس به اشتراک بگذارید برای دوستانتان
درباره این مطلب نظر دهید !

محصولات مرتبط ...

محصولات زیرا حتما ببینید ...