لطفا اگه کسی قطعه کد الگوریتم دیکسترا برای پیدا کردن کوتاهترین مسیر تک مبدا رو داره بزاره// من الگوریتمشو دارم ولی هرچی میکنم نمیتونم اونو با C++ پیاده سازی کنم
با تشکر
لطفا اگه کسی قطعه کد الگوریتم دیکسترا برای پیدا کردن کوتاهترین مسیر تک مبدا رو داره بزاره// من الگوریتمشو دارم ولی هرچی میکنم نمیتونم اونو با C++ پیاده سازی کنم
با تشکر
پس تلاش کن برنامه رو خودت بنویسی مشکلاتت رو مطرح کن کسائیی که بتونن راهنماییت میکنن.لطفا اگه کسی قطعه کد الگوریتم دیکسترا برای پیدا کردن کوتاهترین مسیر تک مبدا رو داره بزاره// من الگوریتمشو دارم ولی هرچی میکنم نمیتونم اونو با C++ پیاده سازی کنم
زحمت کشیدی آقای مدیر کل اینو که خودمم میدونستمنوشته شده توسط H_Zolghadri
با سلام و خسته نباشید:
سوالم در مورد اجرای بعضی از برنامه های C++ است که در حالیکه صورت کلی و نکات برنامه نویسی مشکی ندارد, ولی برنامه اجرا نمی شود دلیل آن چیست؟
اگه میشه اون خطاهای که ایجاد میشه رو بگیدنوشته شده توسط محیا معمارزاده کرمانی
--------------------
سلامنوشته شده توسط myleila
اگه میشه الگوریتمشو برام بفرست که بتونم بنویسم
آخرین ویرایش به وسیله powerboy2988 : یک شنبه 28 آبان 1385 در 19:50 عصر دلیل: این پست به دلیل تکراری بودن بطور خودکار ادغام شده است.
با سلام خدمت دوستان عزیز.
نمیدونم چرا کتاب های گراف این مسئله ساده رو سخت توضیح دادن . من این برنامه رو با زبان ++c نوشتم الگوریتمی که تو برنامه اعمال کردم به صورت زیراست. امیدوارم براتون مفید باشه.
برای پیدا کردن مینیمم مسیر ابتدا ماتریس مجاورت را که مقدار هر درایه برابر وزن یال می باشد را از ورودی میگیریم.
سپس درایه ای رو که رئوسش به هم ربط مستقیم ندارند با ماکزیمم طول مسیر که جمع همه مسیر ها می باشد جایگزین میکنیم.
سپس مجموعه v که شامل رئوس گراف و مجوموعه S که ابتدا شامل نقطه شروع می باشد را تشکیل می دهیم . یکی از اعضای v را که دارای کمترین فاصله با مجموعه S می باشد را انتخاب می کنیم کمترین فاصله این عنصر را از نقطه شروع پیدا میکنیم سپس میبینیم که آیا نقاط دیگر S که به این نقطه وصلند مسیر کوتاهتری را بوسیله این عنصر طی میکنند یا نه درصورت مثبت بودن پاسخ مسیر جدید جایگزین مسیر قبلی می شود.
بدین ترتیب تک تک عناصر v به مجموعه s انتقال پیدا کرده و از مجموعه v کسر می شوند واین کار را تاخالی شدن v انجام می دهیم .ماتریس path را که اندیس اول شماره رئوس و اندیس دوم برای وزن(مقدار 0) و آخرین نقطه اتصالی به آن(1) می باشد را تعریف می کنیم .در آخر کوتاهترین مسیر هر نقطه به نقطه ابتدایی و وزن آن بدست می آید.
[QUOTE=mehdi_zangian;300389]با سلام خدمت دوستان عزیز.
نمیدونم چرا کتاب های گراف این مسئله ساده رو سخت توضیح دادن . من این برنامه رو با زبان ++c نوشتم الگوریتمی که تو برنامه اعمال کردم به صورت زیراست. امیدوارم براتون مفید باشه.
برای پیدا کردن مینیمم مسیر ابتدا ماتریس مجاورت را که مقدار هر درایه برابر وزن یال می باشد را از ورودی میگیریم.
سپس درایه ای رو که رئوسش به هم ربط مستقیم ندارند با ماکزیمم طول مسیر که جمع همه مسیر ها می باشد جایگزین میکنیم.
سپس مجموعه v که شامل رئوس گراف و مجوموعه S که ابتدا شامل نقطه شروع می باشد را تشکیل می دهیم . یکی از اعضای v را که دارای کمترین فاصله با مجموعه S می باشد را انتخاب می کنیم کمترین فاصله این عنصر را از نقطه شروع پیدا میکنیم سپس میبینیم که آیا نقاط دیگر S که به این نقطه وصلند مسیر کوتاهتری را بوسیله این عنصر طی میکنند یا نه درصورت مثبت بودن پاسخ مسیر جدید جایگزین مسیر قبلی می شود.
بدین ترتیب تک تک عناصر v به مجموعه s انتقال پیدا کرده و از مجموعه v کسر می شوند واین کار را تاخالی شدن v انجام می دهیم .ماتریس path را که اندیس اول شماره رئوس و اندیس دوم برای وزن(مقدار 0) و آخرین نقطه اتصالی به آن(1) می باشد را تعریف می کنیم .در آخر کوتاهترین مسیر هر نقطه به نقطه ابتدایی و وزن آن بدست می آید.