الگوریتمستان

برنامه‌نویسی، طراحی الگوریتم و حل مسئله‌های الگوریتمی

 
در صورت ناخوانا بودن نوشته‌ها، از مرورگر دیگری استفاده کنید.
نوشته‌ها با برچسب الگوریتم فلوید-وارشال نوشته‌ها با برچسب الگوریتم فلوید-وارشال - الگوریتمستان الگوریتمستان الگوریتمستان
نوشته‌ها با برچسب «

الگوریتم فلوید-وارشال

»

الگوریتم فلوید-وارشال (Floyd-Warshall) یک الگوریتم مبتنی بر روش برنامه‌نویسی پویا برای محاسبه‌ی کوتاهترین مسیر بین هر دو جفت گره گراف‌های وزن‌دار است. دو الگوریتم رایج دایکسترا و بلمن-فورد روش‌های محاسبه‌ی کوتاهترین مسیر از مبدأ ثابت هستند که در صورت تکرار آنها به ازای هر گره عملکردی همانند الگوریتم فلوید-وارشال دارند. اما این الگوریتم ویژگی‌هایی دارد که آن را برجسته می‌کند:

ادامه ...

مسئله

ساختمان جدید دپارتمان مهندسی کامپیوتر تنها شامل آسانسور بوده و پله ندارد. برای دسترسی سریع و مناسب به اتاق‌ها و کلاس‌های طبقات مختلف، آسانسورها به گونه‌ای تنظیم شده‌اند که تنها در طبقات مشخصی توقف داشته باشند؛ مثلا تعدادی تنها در طبقات زوج و تعدادی دیگر تنها در طبقات فرد. دکمه‌های داخل آسانسور و کنار ورودی آسانسور نیز تنها برای همین طبقات از پیش مشخص شده فعال هستند. این ایده دسترسی سریع و مناسب به طبقات ساختمان را برای برخی افراد فراهم می‌کند. به عنوان نمونه اعضای هیئت علمی دسترسی مستقیم به طبقات اتاق‌های خود دارند. اما در حالت کلی باعث سردرگمی می‌شود. اگر شخصی بخواهد از طبقه‌ای به طبقه‌ی دیگری برود، ممکن است هیچ آسانسوری در هر دوی آنها توقف نداشته باشد و شخص مجبور به تعویض آسانسور گردد. در چنین شرایطی این سوال پیش می‌آید که کدام آسانسور (یا آسانسورها) باید انتخاب شوند و کدام انتخاب‌ها شخص را در زمان کمتری به مقصد می‌رساند. اگر مسیر حرکت شخص از طبقه‌ی i به طبقه‌ی j به صورت $ i = f_1 \rightarrow f_2 \rightarrow f_3 \rightarrow \cdots \rightarrow f_k = j $ نمایش داده شود، عبارت $ \sum_{r=1}^{k-1} \vert f_i - f_{i+1} \vert $ زمان لازم برای رسیدن به مقصد از طریق آن مسیر است. برنامه‌ای بنویسید که افراد را در استفاده‌ی بهتر (در زمان کمتر) از آسانسورها یاری کند.

ادامه ...

الگوریتمستان در تلگرام

   

 

پیوند کوتاه:
برچسب‌ها
#دانلود کتاب #کتاب مسابقات برنامه‌نویسی #نمونه سوال فارسی مسابقات برنامه‌نویسی #تمرین مسابقه برنامه‌نویسی #تمرین طراحی الگوریتم #الگوریتم فلوید-وارشال #حل سوالات UVa Online Judge #الگوریتم #الگوریتم‌های مسیریابی #نمونه سوالات مسابقه برنامه‌نویسی #حل سوالات Timus Online Judge #الگوریتم‌های حریصانه #حل سوالات ACM-ICPC #مسئله‌های الگوریتمی #مسابقات برنامه‌نویسی ACM #الگوریتم‌های مرتب‌سازی #الگوریتم دایکسترا #معرفی وب‌سایت #نکات برنامه‌نویسی #ترجمه‌ی فارسی سوالات برنامه‌نویسی #ویدئوی آموزشی #برنامه‌نویسی ++C #درخت پوشا #تمرین المپیاد کامپیوتر #آموزش ساختمان داده‌ها #مسابقه برنامه‌نویسی #منبع آموزشی #سوالات مسابقات برنامه‌نویسی بیان #Python #مسابقه برنامه نویسی #نمونه سوال فارسی مسابقات ACM #محاسبات ریاضی #حل مسئله‌‌ی الگوریتمی #جستجوی اول سطح #الگوریتم‌های برنامه‌نویسی پویا #تکنیک‌های طراحی الگوریتم #سوالات UVa Online Judge #سوالات مسابقات ACM-ICPC #آموزش الگوریتم #گراف #مسئله‌های برنامه‌نویسی #ترجمه فارسی سوالات کتاب Programming Challenges #کتابخانه قالب استاندارد ++C #ترجمه‌ی فارسی سوالات UVa Online Judge #الگوریتم‌های بازگشتی #کتاب الکترونیکی #برنامه‌نویسی #مسابقات برنامه‌نویسی #ساختمان داده #نمونه سوال مسابقه ACM #پیمایش گراف #مسأله‌های الگوریتمی #مسأله‌های برنامه‌نویسی #سوالات برنامه‌نویسی #آمادگی المپیاد کامپیوتر #وبلاگ #مسئله‌ی کوله‌پشتی #الگوریتم‌های عقبگرد #حل سوالات مسابقات برنامه‌نویسی #کتاب الگوریتم #آموزش برنامه‌نویسی ++C #جستجوی اول عمق #سوالات چالشی برنامه‌نویسی #آمادگی مسابقه ACM #الگوریتم‌های کوتاهترین مسیر #آموزش طراحی الگوریتم #درخت‌ها #الگوریتم‌های گراف #آمادگی مسابقه برنامه‌نویسی #ماتریس #الگوریتم‌های تقسیم و غلبه #تمرین مسابقه‌ی برنامه‌نویسی ای‌سی‌ام #نمونه سوال فارسی مسابقه‌ی ACM #ترجمه‌ی فارسی سوالات ACM #صف