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

Dynamic Programming Algorithms

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

به دوره آموزشی "الگوریتم های برنامه نویسی پویا" خوش آمدید!

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


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


این دوره بر تسلط بر برنامه نویسی پویا و تجهیز شما به مهارت هایی برای حل موثر طیف وسیعی از مسائل محاسباتی تمرکز دارد. شما به مشکلات تمرینی مختلف مانند اعداد فیبوناچی، بالا رفتن از پله ها، دزد خانه و موارد دیگر، دستیابی به تجربه عملی در به کارگیری مفاهیم برنامه نویسی پویا می پردازید.


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


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


تمرین مشکلات تحت پوشش دوره:

1. عدد فیبوناچی

2. بالا رفتن از پله ها

3. دزد خانه

4. رمزگشایی راه ها

5. طولانی ترین دنباله رایج

6. مشکل 0/1 کوله پشتی

7. جمع هدف

8. مجموع زیر مجموعه برابر پارتیشن

9. تعداد زیر مجموعه ها

10. تغییر سکه

11. تغییر سکه II

12. شکستن کلمه

13. تطبیق عبارت منظم


علاوه بر مشکلات ذکر شده، درس "الگوریتم های برنامه نویسی پویا" چندین مسئله ضروری دیگر برنامه نویسی پویا را پوشش می دهد. از طریق توضیحات دقیق، پیاده سازی کد، و گام به گام، به درک عمیقی از راه حل هر مشکل دست خواهید یافت.


با ترکیبی از مثال‌های تئوری و عملی، این دوره تضمین می‌کند که نه تنها مفاهیم اساسی برنامه‌نویسی پویا را درک می‌کنید، بلکه مهارت‌های لازم برای حل مؤثر مسائل دنیای واقعی را نیز توسعه می‌دهید.


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


اکنون ثبت نام کنید و سفری را برای تبدیل شدن به یک برنامه نویس پویا آغاز کنید!


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

معرفی Introduction

  • معرفی Introduction

  • اصلاح کد Revise Code

1- عدد فیبوناچی 1- Fibonacci Number

  • برنامه نویسی پویا از پایین به بالا Bottom Up Dynamic Programming

  • برنامه نویسی پویا از بالا به پایین Top Down Dynamic Programming

  • پایین به بالا -- فضای ثابت Bottom Up -- Constant Space

2- بالا رفتن از پله 2- Climbing Stairs

  • برنامه نویسی پویا از پایین به بالا Bottom Up Dynamic Programming

  • برنامه نویسی پویا از بالا به پایین Top Down Dynamic Programming

3- دزد خانه 3- House Robber

  • بازگشتی ساده و به یاد ماندنی Recursive Naive & Memoized

  • جدول 1 بعدی DP و فضای بهینه شده DP 1D Tabulation DP & Space Optimised DP

4- راه های رمزگشایی 4- Decode Ways

  • بالا به پایین -- بازگشتی ساده و به یاد ماندنی Top-Down -- Recursive Naive & Memoized

  • پایین به بالا -- جدول 1 بعدی DP Bottom Up -- 1D Tabulation DP

  • DP بهینه شده [O(1) Space] Optimized DP [O(1) Space]

5- طولانی ترین دنباله متداول 5- Longest Common Subsequence

  • پایین به بالا - برنامه نویسی پویا Bottom UP - Dynamic Programming

  • بالا به پایین - برنامه نویسی پویا Top Down - Dynamic Programming

6- مشکل کوله پشتی 0/1 6- 0/1 Knapsack Problem

  • جدول بندی دو بعدی - برنامه نویسی پویا 2D Tabulation - Dynamic Programming

  • بالا به پایین - یادداشت Top down - Memoization

  • جدول بندی 1 بعدی -- برنامه نویسی پویا 1D Tabulation -- Dynamic Programming

7- جمع زیر مجموعه مساوی پارتیشن 7- Partition Equal Subset Sum

  • بازگشتی ساده و به یاد ماندنی Recursive Naive & Memoized

  • جدول 1 بعدی 1D Tabulation

8- طولانی ترین دنباله افزایشی 8- Longest Increasing Subsequence

  • بازگشتی ساده و به یاد ماندنی Recursive Naive & Memoized

  • جدول 1 بعدی 1D Tabulation

9- تعداد زیر مجموعه ها 9- Count Number of Subsets

  • یادداشت از بالا به پایین Top-Down Memoization

  • برنامه نویسی پویا از پایین به بالا -- جدول بندی دو بعدی Bottom Up Dynamic Programming -- 2D Tabulation

  • برنامه نویسی پویا از پایین به بالا -- جدول بندی 1 بعدی Bottom Up Dynamic Programming -- 1D Tabulation

10- تعویض سکه 10- Coin Change

  • بازگشتی ساده و به یاد ماندنی Recursive Naive & Memoized

  • جدول 1 بعدی 1D Tabulation

11- تغییر سکه II 11- Coin Change II

  • جدول 1 بعدی 1D Tabulation

12- شکستن کلمه 12- Word Break

  • جدول 1 بعدی 1D Tabulation

13- جمع هدف 13- Target Sum

  • یادداشت از بالا به پایین Top-Down Memoization

  • جدول بندی دو بعدی 2D Tabulation

14- Edit Distance 14- Edit Distance

  • ویرایش فاصله -- پایین به بالا DP Edit Distance -- Bottom UP DP

  • ویرایش فاصله -- از بالا به پایین Edit Distance -- Top Down

15- تطبیق بیان منظم 15- Regular Expression Matching

  • 2 بعدی پایین به بالا 2D Bottom UP

16- Range Sum Query 2D - Immutable 16- Range Sum Query 2D - Immutable

  • جدول بندی دو بعدی 2D Tabulation

نمایش نظرات

آموزش الگوریتم های برنامه نویسی پویا
جزییات دوره
12 hours
34
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
8,124
4.7 از 5
دارد
دارد
دارد
Md. A. Barik
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Md. A. Barik Md. A. Barik

مهندس نرم افزار سلام! نام من خانم A. باریک است من مهندس نرم افزار هستم و علاقه زیادی دارم. من از سن 16 سالگی برنامه نویسی می کنم. من همیشه از اوایل زندگی در کامپیوتر و فن آوری جذابیت داشته ام. من که یک برنامه نویس خودآموخته بودم ، فهمیدم که تعداد زیادی دوره ، آموزش و کتاب آنلاین وجود دارد که بیش از حد کلامی هستند و در آموزش مهارت های مناسب کافی نیستند. بیشتر افراد هنگام یادگیری یک موضوع پیچیده احساس فلج می کنند و نمی دانند از کجا باید شروع کنند ، یا حتی بدتر از آن ، اکثر مردم 20،000 دلار برای خرج یک بوت کمپینگ رمزگذاری ندارند. مهارت های برنامه نویسی باید مقرون به صرفه و برای همه آزاد باشد. یک ماده آموزشی باید مهارتهای زندگی واقعی را بیاموزد که در حال حاضر هستند و نباید وقت ارزشمند دانش آموز را تلف کنند. من از حرفه برنامه نویسی خود درسهای مهمی آموخته ام. من سعی می کنم مهارت های برنامه نویسی ارزشمندی را به دیگران بیاموزم تا زندگی و کار آنها را در یک شرکت مهیج و با امکانات بی حد و حصر کنترل کنند.