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

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

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

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

»

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

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

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

ادامه ...

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

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

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

ادامه ...

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

   

 

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