- نویسنده : پروژه فارسی
- بازدید : 126 مشاهده
رضایت کاربران از دانلود فایل
پیشنهاد
3386
تعداد دانلود
3251
رضایت مندی
91%
توضیحات کامل در مورد فایل
دانلود سورس کد پیاده سازی الگوریتم A* در سی شارپ
مقدمه
چند وقت پیش مجبور شدم پروژه ای بسازم تا کوتاه ترین مسیر داخل یک ماتریس را مشخص کنم. با خودم فکر کردم: "هیچ چیز بهتر از مسیریابی برای این کار نیست." تعداد زیادی لینک و توضیح در مورد Path Finding وجود دارد، اما نسخه ای که با سی شارپ نوشته شده باشد را پیدا نکردم که بتواند نیازهای من را برآورده کند. بنابراین، تصمیم گرفتم پیاده سازی A* را در سی شارپ انجام دهم. این کد واقعا برای من مفید بود و شرط می بندم که می تواند برای بسیاری از افراد دیگر نیز مفید باشد. من پیادهسازی الگوریتم را زیاد توضیح نمیدهم زیرا فقط تایپ کردن "الگوریتم مسیریابی A*" در گوگل اسناد زیادی را به همراه میآورد که میتوانید تک تک جزئیات آن را پیدا کنید.
درباره برنامه
A* یک الگوریتم عمومی است و هیچ پارامتر کاملی برای تنظیم وجود ندارد. الگوریتم موارد زیادی دارد که می توان آنها را تنظیم کرد، بنابراین بهترین راه برای تعیین پارامترهای مناسب برای پروژه، آزمایش ترکیب های مختلف است. به عنوان یک نکته: معمولاً یک پیاده سازی A* خوب از ArrayList یا List استاندارد برای گره های باز استفاده نمی کند. اگر از یک لیست استاندارد استفاده شود، الگوریتم زمان زیادی را صرف جستجوی گره ها در آن لیست می کند. در عوض، باید از صف اولویت استفاده شود. من کدی را از BenDi برای اجرای صف اولویت قرض گرفتم. من کمی آن را تغییر دادم و پیاده سازی را نیز تغییر دادم تا به جای ArrayList از Generics استفاده کنم که باعث می شود سریعتر اجرا شود. این پروژه به دو دلیل واقعا مفید است.
- من پیاده سازی A* را دنبال کردم و سعی کردم آن را پیاده سازی کنم تا با عملکرد خوب اجرا شود، بنابراین خود الگوریتم می تواند به راحتی در هر پروژه ای مورد استفاده مجدد قرار گیرد.
- قسمت جلویی فرصتی کامل برای آزمایش با متغیرهای زیادی می دهد که در آنها واقعاً می توانید تماشا کنید و نحوه عملکرد آن را یاد بگیرید، اکتشافی، فرمول یا گزینه ها را تغییر دهید تا بهترین تنظیمات برای پروژه شما را تجزیه و تحلیل کنید.
برای شما کاربر عزیز پیشنهاد دانلود داده می شود.