مرورگر شما از این ویدیو پشتیبانی نمی کند.
نکته:
ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
(صرفا برای مشاهده نمونه ویدیو، ممکن هست نیاز به شکن داشته باشید.)
بارگزاری مجدد
توضیحات دوره:
این دوره دارای قابلیت Coursera Coach است!
روشی هوشمندتر برای یادگیری با گفتگوهای تعاملی و همزمان که به شما کمک میکند دانش خود را بسنجید، فرضیات را به چالش بکشید و همگام با پیشرفت در دوره، درک خود را عمیقتر کنید.
در این دوره، شما به بررسی ساختارهای داده و الگوریتمهای پیشرفتهای خواهید پرداخت که برای حل مسائل پیچیده ضروری هستند. از تکنیکهای پنجره لغزان (Sliding Window) گرفته تا جستجوی باینری، شما بینش عمیقی نسبت به روشهای بهینه برای حل مسئله به دست خواهید آورد. با تمرکز بر الگوهایی مانند دو اشارهگر (Two Pointers)، بازگشت (Recursion) و بکتراکینگ (Backtracking)، پایهای قوی برای مقابله با طیف گستردهای از چالشهای برنامهنویسی خواهید ساخت. با پیشرفت در دوره، یاد خواهید گرفت که چگونه این تکنیکها را به صورت کارآمد و مؤثر پیادهسازی کنید تا مهارتهای حل مسئله شما برای کاربردهای دنیای واقعی تقویت شود.
ساختار دوره حول محور روشهای مختلف حل مسئله طراحی شده است. دوره با الگوهای آرایه مانند تکنیکهای پنجره لغزان و دو اشارهگر شروع میشود، و پس از آن کاربردهای جستجوی باینری بر روی آرایههای چرخشی و بازهها ارائه میگردد. دوره با مباحث بازگشت و بکتراکینگ و با استفاده از مسائل Leetcode برای تثبیت درک شما به پایان میرسد. شما در هر مبحث با آموزشهای ویدئویی و تمرینهای عملی که مفاهیم کلیدی را تقویت میکنند، راهنمایی خواهید شد.
این دوره برای افرادی که با ساختارهای داده و الگوریتمهای پایه آشنا هستند و به دنبال ارتقای تواناییهای برنامهنویسی خود میباشند، ایدهآل است. این دوره برای هر کسی که خود را برای مصاحبههای فنی آماده میکند یا هدفش تعمیق دانش در زمینه حل مسائل الگوریتمی است، بسیار مناسب است. با سطح دشواری متوسط، این دوره نیازمند آشنایی با زبان Java و مفاهیم اولیه الگوریتم است.
در پایان دوره، شما قادر خواهید بود ساختارهای داده و الگوریتمهای پیشرفته را برای حل مسائل پیچیده پیادهسازی کنید، راهحلها را با استفاده از تکنیکهای رایج بهینه سازید و از بازگشت و بکتراکینگ برای حل کارآمد وظایف چالشبرانگیز برنامهنویسی استفاده کنید.
سرفصل ها و درس ها
الگوی آرایه شماره ۱ - روش پنجره لغزان + مسائل تمرینی
Array Pattern #1 - Sliding Window Method + Practice Problems
روش پنجره لغزان چیست؟ بخش ۱
What is Sliding Window Method? - Part 1
روش پنجره لغزان چیست؟ بخش ۲
What is Sliding Window Method? - Part 2
چگونه مسائل روش پنجره لغزان را سریع پیادهسازی کنیم؟
How to Implement Sliding Window Method Problems Quickly?
مسئله تمرینی ۱ - طولانیترین زیررشته بدون کاراکتر تکراری
Practice Problem 1 - Longest Substring Without Repeating Characters
مسئله تمرینی ۲ - جایگزینی طولانیترین کاراکتر تکراری
Practice Problem 2 - Longest Repeating Character Replacement
مسئله تمرینی ۳ - حداکثر مقدار پنجره لغزان در جاوا
Practice Problem 3 - Sliding Window Maximum - Java
الگوی آرایه شماره ۲ - روش دو اشارهگر + مسائل تمرینی
Array Pattern #2 - Two Pointer Method + Practice Problems
مسئله تمرینی ۱ - ظرف با بیشترین آب در جاوا
Practice Problem 1 - Container With Most Water - Java
مسئله تمرینی ۲ - به دام انداختن آب باران در جاوا
Practice Problem 2 - Trapping Rain Water - Java
مسئله تمرینی ۳ - مجموع دو عدد (آرایه ورودی مرتب است) در جاوا
Practice Problem 3 - Two Sum II - Input Array Is Sorted - Java
مسئله تمرینی ۴ - پالیندروم معتبر در جاوا
Practice Problem 4 - Valid Palindrome - Java
الگوی آرایه شماره ۳ - ریاضیات و هندسه
Array Pattern #3 - Math & Geometry
مسئله تمرینی ۱ - صفر کردن عناصر ماتریس
Practice Problem 1 - Set Matrix Zero
مسئله تمرینی ۲ - چرخش تصویر
Practice Problem 2 - Rotate Image
مسئله تمرینی ۳ - ماتریس مارپیچی
Practice Problem 3 - Spiral Matrix
مسئله تمرینی ۴ - توان (X, N)
Practice Problem 4 - Pow (X, N)
الگوی آرایه شماره ۴ - بازهها (Intervals)
Array Pattern #4 - Intervals
مسئله تمرینی ۱ - درج بازه
Practice Problem 1 - Insert Interval
مسئله تمرینی ۲ - یافتن موقعیت درج
Practice Problem 2 - Search Insert Position
مسئله تمرینی ۳ - ادغام بازهها
Practice Problem 3 - Merge Intervals
مسئله تمرینی ۴ - اتاقهای جلسه
Practice Problem 4 - Meeting Rooms
مسئله تمرینی ۵ - بازههای غیر همپوشان
Practice Problem 5 - Non Overlapping Intervals
تئوری جستجوی باینری
Binary Search Theory
مقدمهای بر جستجوی باینری
Introduction To Binary Search
پیادهسازی جستجوی باینری
Binary Search Implementation
پیچیدگی جستجوی باینری
Binary Search Complexity
الگوی جستجوی باینری شماره ۱ - جستجوی باینری روی آرایههای مرتبشده چرخشی
Binary Search Pattern #1 - Binary Search Over Rotated Sorted Arrays
مسئله تمرینی ۱ - یافتن اولین و آخرین موقعیت عنصر در آرایه مرتب شده
Practice Problem 1 - Find First And Last Position Of Element In Sorted Array
مسئله تمرینی ۲ - یافتن حداقل در یک آرایه مرتبشده چرخشی
Practice Problem 2 - Find Minimum In A Rotated Sorted Array
مسئله تمرینی ۳ - جستجو در یک آرایه مرتبشده چرخشی
Practice Problem 3 - Search In A Rotated Sorted Array
الگوی جستجوی باینری شماره ۲ - جستجوی باینری روی بازه
Binary Search Pattern #2 - Binary Search Over Range
مسئله تمرینی ۱ - کوکو در حال خوردن موز
Practice Problem 1 - Koko Eating Bananas
مسئله تمرینی ۲ - نیروی مغناطیسی بین دو توپ
Practice Problem 2 - Magnetic Force Between Two Balls
بازگشت و بکتراکینگ + مسائل تمرینی Leetcode
Recursion and Backtracking + Leetcode Practice Problems
بکتراکینگ چیست و چگونه پیادهسازی میشود؟
What is backtracking and how it is implemented?
مثال بکتراکینگ ۱ با پیادهسازی دقیق
Backtracking Example 1 With Detailed Implementation
Leetcode #78 - زیرمجموعهها (Java)
Leetcode #78 - Subsets - Java
Leetcode #46 - جایگشتها (Java)
Leetcode #46 - Permutations - Java
Leetcode #17 - ترکیبات حروف یک شماره تلفن (Java)
Leetcode #17 - Letter Combinations Of A Phone Number
Leetcode #39 - مجموع ترکیبی (Java)
Leetcode #39 - Combination Sum - Java
Leetcode #40 - مجموع ترکیبی ۲ (Java)
Leetcode #40 - Combination Sum II
Leetcode #90 - زیرمجموعهها ۲ (Java)
Leetcode #90 - Subsets II - Java
Leetcode #51 - N وزیر (Java)
Leetcode #51 - N Queens - Java
Leetcode #79 - جستجوی کلمه
Leetcode #79 - Word Search
Leetcode #212 - جستجوی کلمه ۲
Leetcode #212 - Word Search II
تئوری و پیادهسازی درختهای باینری
Binary Trees Theory & Implementation
مقدمهای بر درختهای باینری
Introduction to Binary Trees
اصطلاحات مربوط به درختها
Terms Related To Trees
الگوریتمهای پیمایش درخت
Tree Traversal Algorithms
پیمایش سطح به سطح (Level Order Traversal)
Level Order Traversal
پیادهسازی درختها با استفاده از ارجاع (References)
Implementing Trees Using References
پیادهسازی درختها با استفاده از آرایهها
Implementing Trees Using Arrays
مسائل تمرینی درختهای باینری
Binary Trees Practice Problems
Leetcode #100 - درخت یکسان (Java)
Leetcode #100 - Same Tree - Java
Leetcode #572 - زیردرخت یک درخت دیگر (Java)
Leetcode #572 - Subtree Of Another Tree - Java
Leetcode #101 - درخت متقارن (Java)
Leetcode #101 - Symmetric Tree - Java
Leetcode #104 - حداکثر عمق یک درخت باینری (Java)
Leetcode #104 - Maximum Depth Of A Binary Tree - Java
پیادهسازی پیمایش PreOrder در درختها با استفاده از آرایهها
PreOrder Traversal Implementation in Trees Using Arrays
Leetcode #226 - معکوس کردن درخت باینری (Java)
Leetcode #226 - Invert Binary Tree - Java
Leetcode #543 - قطر یک درخت باینری (Java)
Leetcode #543 - Diameter Of A Binary Tree - Java
Leetcode #94 - پیمایش InOrder درخت باینری (Java)
Leetcode #94 - Binary Tree InOrder Traversal - Java
Leetcode #102 - پیمایش Level Order درخت باینری (Java)
Leetcode #102 - Binary Tree Level Order Traversal - Java
Leetcode #112 - مجموع مسیر (Java)
Leetcode #112 - Path Sum - Java
Leetcode #113 - مجموع مسیر ۲ (Java)
Leetcode #113 - Path Sum II - Java
Leetcode #993 - پسرعموها در درخت باینری (Java)
Leetcode #993 - Cousins in Binary Tree - Java
Leetcode #1161 - حداکثر مجموع سطح درخت باینری (Java)
Leetcode #1161 - Maximum Level Sum of Binary Tree - Java
Leetcode #105 - ساخت درخت باینری از پیمایش Preorder و Inorder (Java)
Leetcode #105 - Construct Binary Tree From Preorder and Inorder Traversal - Java
Leetcode #110 - درخت باینری متوازن (Java)
Leetcode #110 - Balanced Binary Tree - Java
Leetcode #199 - نمای سمت راست درخت باینری (Java)
Leetcode #199 - Binary Tree Right Side View - Java
Leetcode #1448 - شمارش گرههای خوب در درخت باینری (Java)
Leetcode #1448 - Count Good Nodes In Binary Tree - Java
Leetcode #404 - مجموع برگهای چپ (Java)
Leetcode #404 - Sum Of Left Leaves - Java
Leetcode #124 - حداکثر مجموع مسیر در درخت باینری (Java)
Leetcode #124 - Binary Tree Maximum Path Sum - Java
Leetcode #208 - پیادهسازی Trie (درخت پیشوند) (Java)
Leetcode #208 - Implement Trie (Prefix Sum Tree) - Java
Leetcode #211 - طراحی ساختار داده افزودن و جستجوی کلمه (Java)
Leetcode #211 - Design Add and Search Word Data Structure - Java
Leetcode #297 - سریالسازی و دیسریالسازی درخت باینری (Java)
Leetcode #297 - Serialize and Deserialize Binary Tree - Java
تئوری درخت جستجوی باینری + مسائل تمرینی Leetcode
Binary Search Tree Theory + Leetcode Practice Problems
مقدمهای بر درختهای جستجوی باینری
Introduction To Binary Search Trees
درخت جستجوی باینری متوازن ارتفاع (Height Balanced BST)
Height Balanced BST
درج یک گره جدید در درخت جستجوی باینری
Inserting A New Node in Binary Search Tree
درست و پیشدانسته (Inorder Successor and Predecessor)
Inorder Successor And Predecessor
حذف یک گره در درخت جستجوی باینری
Deleting A Node In Binary Search Tree
Leetcode #230 - $k$-امین کوچکترین عنصر در BST (Java)
Leetcode #230 - Kth Smallest Element In BST - Java
Leetcode #98 - اعتبارسنجی درخت جستجوی باینری (Java)
Leetcode #98 - Validate Binary Search Tree - Java
Leetcode #235 - پایینترین جد مشترک در درخت جستجوی باینری (Java)
Leetcode #235 - Lowest Common Ancestor Of A Binary Search Tree - Java
نمایش نظرات