آموزش برنامه نویسی پویا

Dynamic programming

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
توضیحات دوره: یاد بگیرید چگونه تقریباً هر مشکل برنامه نویسی پویا را با هر دو رویکرد آن (حافظه نویسی و جدول بندی) حل کنید. نحوه حل تقریباً هر مشکل برنامه نویسی پویا پیش نیازها: مبانی برنامه نویسی الگوریتم ها و مبانی ساختار داده ها

برنامه نویسی پویا یکی از مهم ترین و قدرتمندترین تکنیک های الگوریتمی است که می توان از آن برای حل بسیاری از مسائل محاسباتی استفاده کرد، این یک تکنیک اساسی برای یادگیری تقویت الگوریتم ها و مهارت های حل مسئله است

اما، بسیاری از دانش‌آموزان درک برنامه‌نویسی پویا و توانایی استفاده از آن برای حل مسائل را سخت می‌بینند، اگر در این شرایط هستید، این دوره برای شما ساخته شده است!


چرا باید این دوره را بگذرانید:

  • تمام چیزهایی را که برای شروع استفاده از برنامه نویسی پویا برای حل مسائل (مقدمه، بازگشت، نحوه تشخیص مشکل برنامه نویسی پویا، حفظ کردن، جدول بندی...) نیاز دارید، پوشش می دهد

  • تکنیکی را برای حل تقریباً هر مشکل برنامه نویسی پویا به شما نشان می دهد

  • یک مربی فعال دارد که آماده پاسخگویی به سوالات و ابهامات شما در صورتی که چیزی متوجه نشدید

  • تحلیل پیچیدگی زمانی و مکانی هر مسئله حل شده را توضیح می دهد

  • شامل 20 مشکل مختلف برنامه نویسی پویا برای تمرین با توانایی آزمایش راه حل پایتون بر روی موارد آزمایشی مختلف قبل از تماشای راه حل


مشکلات تمرینی عبارتند از:

  1. مسیرها در ماتریس

  2. دزد خانه

  3. طولانی ترین دنباله متداول

  4. معدن طلا

  5. ویرایش فاصله

  6. راههای صعود

  7. کوتاهترین سوپرست رایج

  8. تغییر سکه

  9. 0-1 کوله پشتی

  10. مجموع زیر مجموعه

  11. طولانی ترین دنباله افزایشی

  12. روشهای رمزگشایی

  13. برش میله

  14. رشته در هم آمیخته

  15. ماتریس مربع یکها

  16. مشکل پارتیشن

  17. رشته های مصوت مرتب شده

  18. حداقل هزینه بلیط

  19. شکست کلمه

  20. ضرب زنجیره ماتریس


اگر سوال دیگری در مورد این دوره دارید که می‌خواهید قبل از ثبت‌نام بپرسید، می‌توانید در اینستاگرام به آدرس inside.code@ برای من پیام ارسال کنید


لذت ببرید!


سرفصل ها و درس ها

معرفی Introduction

  • برنامه نویسی پویا چیست؟ What is dynamic programming

  • یادآوری در مورد بازگشت Reminder on recursion

معرفی Introduction

  • برنامه نویسی پویا چیست؟ What is dynamic programming

  • یادآوری در مورد بازگشت Reminder on recursion

رویکرد از بالا به پایین (یادداشت) و رویکرد از پایین به بالا (جدول بندی) Top-down approach (memoization) and bottom-up approach (tabulation)

  • رویکرد از بالا به پایین (یادداشت) Top-down approach (memoization)

  • رویکرد پایین به بالا (جدول) Bottom-up approach (tabulation)

  • از بالا به پایین در مقابل پایین به بالا Top-down vs Bottom-up

رویکرد از بالا به پایین (یادداشت) و رویکرد از پایین به بالا (جدول بندی) Top-down approach (memoization) and bottom-up approach (tabulation)

  • رویکرد از بالا به پایین (یادداشت) Top-down approach (memoization)

  • رویکرد پایین به بالا (جدول) Bottom-up approach (tabulation)

  • از بالا به پایین در مقابل پایین به بالا Top-down vs Bottom-up

چگونه تقریباً هر مشکل برنامه نویسی پویا را حل کنیم How to solve almost any dynamic programming problem

  • نمودارهای غیر چرخه ای جهت دار در برنامه نویسی پویا Directed acyclic graphs in dynamic programming

  • چگونه تقریباً هر مشکل برنامه نویسی پویا را حل کنیم How to solve almost any dynamic programming problem

چگونه تقریباً هر مشکل برنامه نویسی پویا را حل کنیم How to solve almost any dynamic programming problem

  • نمودارهای غیر چرخه ای جهت دار در برنامه نویسی پویا Directed acyclic graphs in dynamic programming

  • چگونه تقریباً هر مشکل برنامه نویسی پویا را حل کنیم How to solve almost any dynamic programming problem

مثال کامل: مسیر حداقل هزینه Full example: minimum cost path

  • مشکل مسیر حداقل هزینه Minimum cost path problem

  • مشکل مسیر حداقل هزینه (کد) Minimum cost path problem (code)

مثال کامل: مسیر حداقل هزینه Full example: minimum cost path

  • مشکل مسیر حداقل هزینه Minimum cost path problem

  • مشکل مسیر حداقل هزینه (کد) Minimum cost path problem (code)

تمرین: مسیرها در مسئله ماتریس Practice: Paths in matrix problem

  • مسیرها در ماتریس (مشکل) Paths in matrix (problem)

  • مسیرها در ماتریس (راه حل) Paths in matrix (solution)

  • مسیرها در ماتریس (کد) Paths in matrix (code)

تمرین: مسیرها در مسئله ماتریس Practice: Paths in matrix problem

  • مسیرها در ماتریس (مشکل) Paths in matrix (problem)

  • مسیرها در ماتریس (راه حل) Paths in matrix (solution)

  • مسیرها در ماتریس (کد) Paths in matrix (code)

تمرین: مشکل دزد خانه Practice: House robber problem

  • دزد خانه (مشکل) House robber (problem)

  • دزد خانه (راه حل) House robber (solution)

  • سارق خانه (کد) House robber (code)

تمرین: مشکل دزد خانه Practice: House robber problem

  • دزد خانه (مشکل) House robber (problem)

  • دزد خانه (راه حل) House robber (solution)

  • سارق خانه (کد) House robber (code)

تمرین: طولانی ترین مشکل متداول بعدی Practice: Longest common subsequence problem

  • طولانی ترین دنباله متداول (مشکل) Longest common subsequence (problem)

  • طولانی ترین دنباله متداول (راه حل) Longest common subsequence (solution)

  • طولانی ترین دنباله متداول (کد) Longest common subsequence (code)

تمرین: طولانی ترین مشکل متداول بعدی Practice: Longest common subsequence problem

  • طولانی ترین دنباله متداول (مشکل) Longest common subsequence (problem)

  • طولانی ترین دنباله متداول (راه حل) Longest common subsequence (solution)

  • طولانی ترین دنباله متداول (کد) Longest common subsequence (code)

تمرین: مشکل معدن طلا Practice: Gold mine problem

  • معدن طلا (مشکل) Gold mine (problem)

  • معدن طلا (راه حل) Gold mine (solution)

  • معدن طلا (کد) Gold mine (code)

تمرین: مشکل معدن طلا Practice: Gold mine problem

  • معدن طلا (مشکل) Gold mine (problem)

  • معدن طلا (راه حل) Gold mine (solution)

  • معدن طلا (کد) Gold mine (code)

تمرین: مشکل فاصله را ویرایش کنید Practice: Edit distance problem

  • ویرایش فاصله (مشکل) Edit distance (problem)

  • ویرایش فاصله (راه حل) Edit distance (solution)

  • ویرایش فاصله (کد) Edit distance (code)

تمرین: مشکل فاصله را ویرایش کنید Practice: Edit distance problem

  • ویرایش فاصله (مشکل) Edit distance (problem)

  • ویرایش فاصله (راه حل) Edit distance (solution)

  • ویرایش فاصله (کد) Edit distance (code)

تمرین: راه های صعود مشکل Practice: Ways to climb problem

  • راه های صعود (مشکل) Ways to climb (problem)

  • راه های صعود (راه حل) Ways to climb (solution)

  • راه های صعود (کد) Ways to climb (code)

تمرین: راه های صعود مشکل Practice: Ways to climb problem

  • راه های صعود (مشکل) Ways to climb (problem)

  • راه های صعود (راه حل) Ways to climb (solution)

  • راه های صعود (کد) Ways to climb (code)

تمرین: کوتاه‌ترین مشکل ابر دنباله رایج Practice: Shortest common supersequence problem

  • کوتاه ترین سوپرسال مشترک (مشکل) Shortest common supersequence (problem)

  • کوتاهترین سوپرسال مشترک (راه حل) Shortest common supersequence (solution)

  • کوتاهترین سوپرسال مشترک (کد) Shortest common supersequence (code)

تمرین: کوتاه‌ترین مشکل ابر دنباله رایج Practice: Shortest common supersequence problem

  • کوتاه ترین سوپرسال مشترک (مشکل) Shortest common supersequence (problem)

  • کوتاهترین سوپرسال مشترک (راه حل) Shortest common supersequence (solution)

  • کوتاهترین سوپرسال مشترک (کد) Shortest common supersequence (code)

تمرین: مشکل تغییر سکه Practice: Coin change problem

  • تعویض سکه (مشکل) Coin change (problem)

  • تعویض سکه (راه حل) Coin change (solution)

  • تغییر سکه (کد) Coin change (code)

تمرین: مشکل تغییر سکه Practice: Coin change problem

  • تعویض سکه (مشکل) Coin change (problem)

  • تعویض سکه (راه حل) Coin change (solution)

  • تغییر سکه (کد) Coin change (code)

تمرین: 0-1 مشکل کوله پشتی Practice: 0-1 knapsack problem

  • 0-1 کوله پشتی (مشکل) 0-1 knapsack (problem)

  • 0-1 کوله پشتی (راه حل) 0-1 knapsack (solution)

  • 0-1 کوله پشتی (کد) 0-1 knapsack (code)

تمرین: 0-1 مشکل کوله پشتی Practice: 0-1 knapsack problem

  • 0-1 کوله پشتی (مشکل) 0-1 knapsack (problem)

  • 0-1 کوله پشتی (راه حل) 0-1 knapsack (solution)

  • 0-1 کوله پشتی (کد) 0-1 knapsack (code)

تمرین: مسئله جمع زیر مجموعه Practice: Subset sum problem

  • جمع زیر مجموعه (مشکل) Subset sum (problem)

  • جمع زیر مجموعه (راه حل) Subset sum (solution)

  • جمع زیر مجموعه (کد) Subset sum (code)

تمرین: مسئله جمع زیر مجموعه Practice: Subset sum problem

  • جمع زیر مجموعه (مشکل) Subset sum (problem)

  • جمع زیر مجموعه (راه حل) Subset sum (solution)

  • جمع زیر مجموعه (کد) Subset sum (code)

تمرین: طولانی ترین مشکل بعدی در حال افزایش Practice: Longest increasing subsequence problem

  • طولانی ترین دنباله افزایشی (مشکل) Longest increasing subsequence (problem)

  • طولانی ترین دنباله افزایشی (راه حل) Longest increasing subsequence (solution)

  • طولانی ترین دنباله افزایشی (کد) Longest increasing subsequence (code)

تمرین: طولانی ترین مشکل بعدی در حال افزایش Practice: Longest increasing subsequence problem

  • طولانی ترین دنباله افزایشی (مشکل) Longest increasing subsequence (problem)

  • طولانی ترین دنباله افزایشی (راه حل) Longest increasing subsequence (solution)

  • طولانی ترین دنباله افزایشی (کد) Longest increasing subsequence (code)

تمرین: راه هایی برای رمزگشایی مسئله Practice: Ways to decode problem

  • راه های رمزگشایی (مشکل) Ways to decode (problem)

  • راه های رمزگشایی (راه حل) Ways to decode (solution)

  • راه های رمزگشایی (کد) Ways to decode (code)

تمرین: راه هایی برای رمزگشایی مسئله Practice: Ways to decode problem

  • راه های رمزگشایی (مشکل) Ways to decode (problem)

  • راه های رمزگشایی (راه حل) Ways to decode (solution)

  • راه های رمزگشایی (کد) Ways to decode (code)

تمرین: مشکل پارتیشن Practice: Partition problem

  • پارتیشن (مشکل) Partition (problem)

  • پارتیشن (راه حل) Partition (solution)

  • پارتیشن (کد) Partition (code)

تمرین: مشکل پارتیشن Practice: Partition problem

  • پارتیشن (مشکل) Partition (problem)

  • پارتیشن (راه حل) Partition (solution)

  • پارتیشن (کد) Partition (code)

تمرین: مشکل برش میله Practice: Rod cutting problem

  • برش میله (مشکل) Rod cutting (problem)

  • برش میله (محلول) Rod cutting (solution)

  • برش میله (کد) Rod cutting (code)

تمرین: مشکل برش میله Practice: Rod cutting problem

  • برش میله (مشکل) Rod cutting (problem)

  • برش میله (محلول) Rod cutting (solution)

  • برش میله (کد) Rod cutting (code)

تمرین: مسئله ماتریس مربع یکها Practice: Square matrix of ones problem

  • ماتریس مربع یکها (مسئله) Square matrix of ones (problem)

  • ماتریس مربع یکها (راه حل) Square matrix of ones (solution)

  • ماتریس مربع یکها (کد) Square matrix of ones (code)

تمرین: مسئله ماتریس مربع یکها Practice: Square matrix of ones problem

  • ماتریس مربع یکها (مسئله) Square matrix of ones (problem)

  • ماتریس مربع یکها (راه حل) Square matrix of ones (solution)

  • ماتریس مربع یکها (کد) Square matrix of ones (code)

تمرین: حداقل هزینه برای مشکل بلیط Practice: Minimum cost for tickets problem

  • حداقل هزینه بلیط (مشکل) Minimum cost for tickets (problem)

  • حداقل هزینه بلیط (راه حل) Minimum cost for tickets (solution)

  • حداقل هزینه بلیط (کد) Minimum cost for tickets (code)

تمرین: حداقل هزینه برای مشکل بلیط Practice: Minimum cost for tickets problem

  • حداقل هزینه بلیط (مشکل) Minimum cost for tickets (problem)

  • حداقل هزینه بلیط (راه حل) Minimum cost for tickets (solution)

  • حداقل هزینه بلیط (کد) Minimum cost for tickets (code)

تمرین: مسئله رشته درهم آمیختن Practice: Interleaving string problem

  • رشته درهم (مشکل) Interleaving string (problem)

  • رشته درهم (راه حل) Interleaving string (solution)

  • رشته درهم (کد) Interleaving string (code)

تمرین: مسئله رشته درهم آمیختن Practice: Interleaving string problem

  • رشته درهم (مشکل) Interleaving string (problem)

  • رشته درهم (راه حل) Interleaving string (solution)

  • رشته درهم (کد) Interleaving string (code)

تمرین: مشکل رشته های مصوت مرتب شده است Practice: Sorted vowel strings problem

  • شمارش رشته های مصوت مرتب شده (مشکل) Count sorted vowel strings (problem)

  • شمارش رشته های مصوت مرتب شده (راه حل) Count sorted vowel strings (solution)

  • شمارش رشته های مصوت مرتب شده (کد) Count sorted vowel strings (code)

تمرین: مشکل رشته های مصوت مرتب شده است Practice: Sorted vowel strings problem

  • شمارش رشته های مصوت مرتب شده (مشکل) Count sorted vowel strings (problem)

  • شمارش رشته های مصوت مرتب شده (راه حل) Count sorted vowel strings (solution)

  • شمارش رشته های مصوت مرتب شده (کد) Count sorted vowel strings (code)

تمرین: مشکل شکست کلمه Practice: Word break problem

  • شکست کلمه (مشکل) Word break (problem)

  • شکست کلمه (راه حل) Word break (solution)

  • شکست کلمه (کد) Word break (code)

تمرین: مشکل شکست کلمه Practice: Word break problem

  • شکست کلمه (مشکل) Word break (problem)

  • شکست کلمه (راه حل) Word break (solution)

  • شکست کلمه (کد) Word break (code)

تمرین: مسئله زنجیره ماتریس Practice: Matrix chain problem

  • مشکل زنجیره ماتریس (مشکل) Matrix chain problem (problem)

  • مسئله زنجیره ماتریسی (راه حل) Matrix chain problem (solution)

  • مشکل زنجیره ماتریس (کد) Matrix chain problem (code)

تمرین: مسئله زنجیره ماتریس Practice: Matrix chain problem

  • مشکل زنجیره ماتریس (مشکل) Matrix chain problem (problem)

  • مسئله زنجیره ماتریسی (راه حل) Matrix chain problem (solution)

  • مشکل زنجیره ماتریس (کد) Matrix chain problem (code)

نمایش نظرات

نظری ارسال نشده است.

آموزش برنامه نویسی پویا
خرید اشتراک و دانلود خرید تکی و دانلود | 160,000 تومان (5 روز مهلت دانلود) زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
6 hours
49
Udemy (یودمی) udemy-small
29 شهریور 1401 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
2,466
4.3 از 5
دارد
دارد
دارد
Inside Code

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Inside Code Inside Code

سازنده محتوا

Udemy (یودمی)

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

یکی از ویژگی‌های برجسته یودمی، کیفیت بالای دوره‌ها و حضور استادان مجرب و با تجربه در هر حوزه است. این امر به کاربران اعتماد می‌دهد که در حال دریافت آموزش از منابع قابل اعتماد و معتبر هستند و می‌توانند به بهترین شکل ممکن از آموزش‌ها بهره ببرند. به طور خلاصه، یودمی به عنوان یکی از معتبرترین و موثرترین پلتفرم‌های آموزشی آنلاین، به افراد امکان می‌دهد تا به راحتی و با کیفیت، مهارت‌های مورد نیاز خود را ارتقا دهند و به دنبال رشد و پیشرفت شغلی خود باشند.