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

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

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

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

»

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

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

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

ادامه ...

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

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

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

ادامه ...

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

   

 

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