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

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

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

آموزش الگوریتم

»

یکی از روش‌های پرکاربرد و مشهور طراحی الگوریتم روش برنامه‌نویسی پویا (یا برنامه‌ریزی پویا، برنامه‌سازی پویا - Dynamic Programming) است. این روش همچون روش تقسیم و حل (Divide and Conquer) بر پایه‌ی تقسیم مسئله بر زیرمسئله‌ها کار می‌کند. اما تفاوت‌های چشم‌گیری با آن دارد.

زمانی که یک مسئله به دو یا چند زیرمسئله تقسیم می‌شود، دو حالت ممکن است پیش بیاید:

1- داده‌های زیرمسئله‌ها هیچ اشتراکی با هم نداشته و کاملا مستقل از هم هستند. نمونه‌ی چنین مواردی مرتب‌سازی آرایه‌ها با روش ادغام یا روش سریع است که داده‌ها به دو قسمت تقسیم شده و به صورت مجزا مرتب می‌شوند. در این حالت داده‌های یکی از بخش‌ها هیچ ارتباطی با داده‌های بخش دیگر نداشته و در نتیجه حاصل از آن بخش اثری ندارند. معمولا روش تقسیم و حل برای چنین مسائلی کارآیی خوبی دارد.

ادامه ...

یکی از روش‌های پرکاربرد و محبوب برای طراحی الگوریتم‌ها روش Divide and Conquer است که در زبان فارسی به صورت تقسیم و حل یا تقسیم و غلبه ترجمه شده است.

در این روش، داده‌ها به دو یا چند دسته تقسیم شده و حل می‌شوند. سپس با ترکیب مناسب نتایج به دست آمده از این زیرمسئله‌ها، مسئله‌ی اصلی حل می‌شود. در صورتی که زیرمسئله خود به اندازه‌ی کافی بزرگ باشد، می‌توان از همین روش برای حل آن استفاده کرد. تقسیمات متوالی زیرمسئله‌ها تا جایی ادامه پیدا می‌کند که به اندازه‌ی کافی کوچک شده باشند و بتوان آنها را با روش‌های دیگر به راحتی حل نمود.

برای آشنایی بیشتر، چند الگوریتم که با روش حل و تقسیم پیاده‌سازی شده‌اند معرفی می‌شوند.

ادامه ...

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

   

 

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