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

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

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

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

»

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

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

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

ادامه ...

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

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

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

ادامه ...

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

   

 

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