در این بخش سورس کد پروژه الگوریتم دایجسترا Dijkstra در سی شارپ #C قرار داده شده است. الگوریتم دایجسترا Dijkstra یا دیکسترا یک راهکار حریصانه برای یافتن کوتاهترین مسیر از مقصد ثابت به سایر گرههای گراف وزندار است. این گراف میتواند معرف مسیرهای یک شهر و تقاطعهای آن باشد که انبار شرکت در یک گره آن قرار داشته و هدف یافتن کوتاهترین مسیر به هر محل دیگر از این انبار است.
طبیعتا این الگوریتم در یافتن کوتاهترین مسیر بین دو گره مشخص نیز کاربرد دارد. تنها شرط لازم برای استفاده از این الگوریتم نامنفی بودن وزن یالهای گراف است.
تهیه و تنظیم: تیم طراحی و تولید پی استور
متشکل از اساتید و فارغ التحصیلان رشته های فنی - مهندسی
تیم طراحی و تولید پی استور از اولین تیم های تشکیل شده در مجموعه آموزشی پی استور می باشد. این تیم از اساتید مجرب و فارغ التحصیلان رشته های فنی و مهندسی تشکیل شده که در زمینه های مختلف تولید محتوای تخصصی فعال هستند.
توضیح الگوریتم دایجسترا
این الگوریتم برای پیدا کردن کوتاهترین مسیر بین گره ها کاربرد دارد. فرض کنید گرافی داریم که میخواهیم. کوتاهترین مسیر بین دو گره را در آن پیدا کنیم لازم به ذکر می باشد که الگوریتم دایجسترا شباهت زیادی به الگوریتم پریم دارد. در الگوریتم دایجسترا نیز درخت کوتاهترین مسیر با استفاده از مبدا داده شده به عنوان ریشه، ساخته میشود.
در هر مرحله از الگوریتم، راسی پیدا میشود که در مجموعه دیگر مجموعه راسهای در نظر گرفته نشده قرار دارد و دارای کمترین فاصله از ریشه است. در زیر نحوه اجرای الگورتیم دایجسترا کاملا توضیح داده شده است:
- ساخت مجموعه sptSet مجموعه درخت کوتاهترین مسیر Shortest Path Tree Set که به دنبال راسهای قرار گرفته در درخت کوتاهترین مسیر میگردد.
- تخصیص یک مقدار فاصله به همه راسها در گراف ورودی.
- تا هنگامی که sptSet شامل همه راسها نشده است، اقدامات زیر انجام میشود: راس u انتخاب میشود که در sptSet نیست و دارای حداقل مقدار فاصله است. u در sptSet قرار میگیرد.
- مقدار فاصله از همه راسهای مجاور u به روز رسانی میشود.
- برای به روز رسانی مقادیر فاصله، در همه راسهای مجاور تکرار انجام میشود. برای هر راس مجاور v، اگر مجموع فاصله u از کد منبع و وزن یال u-v کمتر از مقدار فاصله v باشد، مقدار فاصله از v به روز رسانی میشود.
بررسی کد الگوریتم دایجسترا Dijkstra در سی شارپ #C
ساختار استفاده شده در برنامه به شرح زیر می باشند:
- GUI: اطلاعات را به صورت بصری نشان می دهد.
- RouteEngine: مسیر را محاسبه می کند و کوتاهترین مسیر را در اختیار شما قرار می دهد.
- کلاس Connection: این کلاس اطلاعات مربوط به اتصال بین دو گره را در خود جای داده است. که یک اتصال یک جهته از A به B را با یک وزن خاص متصل می کند.
- کلاس RouteEngine: این کلاس تمام مسیرها را از یک نقطه شروع مشخص محاسبه می کند.
- کلاس Route: این کلاس اطلاعات مربوط به مسیری را که بین دو نقطه (با کلاس RouteEngine تولید می شود) نگهداری می کند.
namespace Gui { public class GuiLocation:Location { int x, y; bool selected; public int Width { get { return 25; } } public bool Selected { get { return selected; } set { selected = value; } } public int Y { get { return y; } set { y = value; } } public int X { get { return x; } set { x = value; } } } }
تصویر خروجی برنامه
ویدئوی معرفی الگوریتم دایجسترا در c#
درباره الگوریتم دایجسترا Dijkstra در سی شارپ
سورس کد الگوریتم دایجسترا Dijkstra در سی شارپ #C با استفاده از Microsoft Visual Studio 2013 نوشته شده است و دارای گزارش کار 6 صفحه ای در Word است و بصورت کامل توسط گروه پشتیبانی پی استور تست و اجرا شده است محصول دارای نشان تضمین کیفیت پی استور می باشد. برای دانلود محصول آن را خریداری کنید.
سورس کدهای آماده و مرتبط در سی شارپ
سورس کدهای آماده و پیشنهادی در سی شارپ
تاریخ انتشار: | 8 آذر 1399 |
---|---|
تاریخ بروزرسانی: | 24 فروردین 1401 |
حجم فایل: | 300 کیلوبایت |
فرمت فایل | sln. در قالب ویژوال استودیو |
نسخه: | 1.0 |
هماهنگی با: | Microsoft Visual Studio 2013 و بالاتر |
تاکنون 331 نفر این محصول را تهیه کرده اند و 2 نظر برای آن ثبت شده است.
نظرات و دیدگاه ها
قوانین ثبت دیدگاه
- لطفاً دیدگاه های خود را فارسی تایپ کنید.
- دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
- از درج دیدگاه های تکراری پرهیز نمایید.
- سوالات تخصصی خودتان را از طریق تیکت پشتیبانی مطرح کنید.
قیمت 49,000 تومان
تاریخ انتشار: | 8 آذر 1399 |
---|---|
تاریخ بروزرسانی: | 24 فروردین 1401 |
حجم فایل: | 300 کیلوبایت |
فرمت فایل | sln. در قالب ویژوال استودیو |
نسخه: | 1.0 |
هماهنگی با: | Microsoft Visual Studio 2013 و بالاتر |
2 بازخورد (مشاهده نظرات)
قیمت: 49,000 تومان
علی
تو گزارش کار، نحوه کار با الگوریتم رو خیلی خوب توضیح داده بودید. ممنون ازتون
مدیریت و پشتیبانی
نظرات و پیشنهادات خود را با ما در میان بگذارید.