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

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

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

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

»

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

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

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

ادامه ...

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

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

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

ادامه ...

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

   

 

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