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

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

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

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

»

الگوریتم فلوید-وارشال (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 $ زمان لازم برای رسیدن به مقصد از طریق آن مسیر است. برنامه‌ای بنویسید که افراد را در استفاده‌ی بهتر (در زمان کمتر) از آسانسورها یاری کند.

ادامه ...

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

   

 

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