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

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

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

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

»

مسئله

پل اردوش (اردیش - Paul Erdős) ریاضیدان مشهور و برجسته‌ی قرن بیستم است که تا پایان عمر خود تلاش گسترده‌ای برای انتشار مقالات علمی داشت و همکاری با وی در انتشار مقاله یک افتخار بزرگ برای هر ریاضیدان محسوب می‌گردد.

با توجه به آنکه همکاری با ایشان برای هر کس ممکن نبود، تلاش می‌کردند با نفراتی در انتشار مقاله‌ی علمی همکاری کنند که با این دانشمند بزرگ مقاله داشتند. این رویکرد باعث پدید آمدن عدد اردوش (Erdős number) یا فاصله‌ی همکاری اردوش شد؛ یعنی برای نویسندگانی که به صورت مستقیم با ایشان همکاری داشتند عدد 1 و برای کسانی که با این نفرات مقاله داشتند عدد 2 نسبت داده شد و ارتباطات دورتر نیز به همین ترتیب با اعداد طبیعی بعدی مشخص شدند.

ادامه ...

مسئله

ساختمان جدید دپارتمان مهندسی کامپیوتر تنها شامل آسانسور بوده و پله ندارد. برای دسترسی سریع و مناسب به اتاق‌ها و کلاس‌های طبقات مختلف، آسانسورها به گونه‌ای تنظیم شده‌اند که تنها در طبقات مشخصی توقف داشته باشند؛ مثلا تعدادی تنها در طبقات زوج و تعدادی دیگر تنها در طبقات فرد. دکمه‌های داخل آسانسور و کنار ورودی آسانسور نیز تنها برای همین طبقات از پیش مشخص شده فعال هستند. این ایده دسترسی سریع و مناسب به طبقات ساختمان را برای برخی افراد فراهم می‌کند. به عنوان نمونه اعضای هیئت علمی دسترسی مستقیم به طبقات اتاق‌های خود دارند. اما در حالت کلی باعث سردرگمی می‌شود. اگر شخصی بخواهد از طبقه‌ای به طبقه‌ی دیگری برود، ممکن است هیچ آسانسوری در هر دوی آنها توقف نداشته باشد و شخص مجبور به تعویض آسانسور گردد. در چنین شرایطی این سوال پیش می‌آید که کدام آسانسور (یا آسانسورها) باید انتخاب شوند و کدام انتخاب‌ها شخص را در زمان کمتری به مقصد می‌رساند. اگر مسیر حرکت شخص از طبقه‌ی 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 $ زمان لازم برای رسیدن به مقصد از طریق آن مسیر است. برنامه‌ای بنویسید که افراد را در استفاده‌ی بهتر (در زمان کمتر) از آسانسورها یاری کند.

ادامه ...

الگوریتم دایکسترا (دیکسترا، دایجسترا - Dijkstra) یک راهکار حریصانه برای یافتن کوتاهترین مسیر از مقصد ثابت (تک منبع) به سایر گره‌های گراف وزن‌دار است. این گراف می‌تواند معرف مسیرهای یک شهر و تقاطع‌های آن باشد که انبار شرکت در یک گره آن قرار داشته و هدف یافتن کوتاهترین مسیر به هر محل دیگر از این انبار است. طبیعتا این الگوریتم در یافتن کوتاهترین مسیر بین دو گره مشخص نیز کاربرد دارد. تنها شرط لازم برای استفاده از این الگوریتم نامنفی بودن وزن یال‌های گراف است.

ادامه ...

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

   

 

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