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

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

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

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

»

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

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

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

ادامه ...

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

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

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

ادامه ...

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

   

 

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