آموزش ساختارهای داده و الگوریتم‌های پیشرفته در عمل - آخرین آپدیت

دانلود Advanced Data Structures & Algorithms in Practice

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: این دوره دارای مربی Coursera Coach است! روشی هوشمندانه‌تر برای یادگیری با گفتگوهای تعاملی و آنی که به شما کمک می‌کند تا دانش خود را آزمایش کنید، فرضیات را به چالش بکشید و در حین پیشروی در دوره، درک خود را عمیق‌تر کنید. در این دوره که برای علاقه‌مندان به تقویت درک و مهارت‌های حل مسائل محاسباتی طراحی شده است، پیچیدگی‌های ساختارهای داده و الگوریتم‌های پیشرفته را کشف کنید. با یادگیری مفاهیم تئوری و چالش‌های کدنویسی عملی، در زمینه Heaps، درخت‌های جستجوی دودویی (BST)، برنامه‌نویسی پویا (Dynamic Programming)، مجموعه‌های مجزا (Disjoint Sets)، گراف‌ها، دستکاری بیت‌ها (Bit Manipulation)، بازگشتی (Recursion) و درخت‌های قطعه‌ای (Segment Trees) تخصص کسب خواهید کرد. این دوره توضیحات جامع و تمرینات عملی را برای اطمینان از اجرای بهینه این ساختارها و الگوریتم‌ها ارائه می‌دهد. با شروع از Heaps، به پیاده‌سازی، عملیات و کاربردهای عملی مانند یافتن kth بزرگترین عنصر می‌پردازید. در ادامه، بر درخت‌های جستجوی دودویی، رویکردهای برنامه‌نویسی پویا برای مسائل بهینه‌سازی تسلط یافته و در تکنیک‌های پیمایش گراف مانند BFS و DFS عمیق می‌شوید. همچنین مباحث پیشرفته‌ای مانند ساختار داده Disjoint-Set، ترفندهای دستکاری بیت، بازگشت و درخت‌های قطعه‌ای برای پرس‌وجوهای بازه‌ای (Range Queries) را مطالعه خواهید کرد. این دوره جامع به گونه‌ای ساختار یافته است که به شما در توسعه مهارت‌های لازم برای مقابله با مسائل محاسباتی دنیای واقعی با راهکارهای بهینه کمک کند. هر ماژول مملو از چالش‌های حل مسئله و تمرینات کدنویسی برای تثبیت یادگیری شماست. شما گام به گام پیش می‌روید و پیش از پرداختن به مسائل الگوریتمی پیچیده‌تر و سناریوهای واقعی، یک پایه قوی ایجاد می‌کنید. این دوره برای علاقه‌مندان به علوم کامپیوتر، توسعه‌دهندگان نرم‌افزار مشتاق و کسانی که به دنبال تعمیق دانش خود در ساختارهای داده و الگوریتم‌ها هستند، ایده‌آل است. اگرچه محتوا برای یادگیرندگان سطح متوسط مناسب است، اما داشتن درک اولیه از برنامه‌نویسی و الگوریتم‌ها توصیه می‌شود. در پایان دوره، شما قادر خواهید بود ساختارهای داده پیشرفته مانند Heaps، درخت‌های جستجوی دودویی و درخت‌های قطعه‌ای را پیاده‌سازی و بهینه کنید، مسائل برنامه‌نویسی پویا و گراف را حل کنید و تکنیک‌های دستکاری بیت و بازگشتی را در چالش‌های کدنویسی به کار ببرید.

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

تئوری Heaps و مسائل کاربردی Heaps Theory + Practice Problems

  • مقدمه‌ای بر Heaps Introduction to Heaps

  • پیاده‌سازی Heaps Implementation of Heaps

  • درج در Heaps Insertion in Heaps

  • پیاده‌سازی عملیات درج در Heap Heap Insertion Implementation

  • حذف در Heaps Deletion in Heaps

  • عملیات Heapify Heapify

  • مسئله کاربردی ۱: یافتن kth بزرگترین عنصر در آرایه Practice Problem 1 - Kth Largest Element in an Array

  • مسئله کاربردی ۲: یافتن میانه از جریان داده Practice Problem 2 - Find Median from Data Stream

  • مسئله کاربردی ۳: kth بزرگترین عنصر در جریان داده Practice Problem 3 - Kth Largest Element in Stream

درخت جستجوی دودویی (BST) Binary Search Tree

  • مقدمه‌ای بر درخت جستجوی دودویی (BST) Introduction to Binary Search Tree

  • درخت BST متوازن از نظر ارتفاع Height Balanced BST

  • درج گره جدید در درخت جستجوی دودویی Inserting a New Node in Binary Search Tree

  • جانشین و پیش‌رو در BST Inorder Successor and Predecessor in BST

  • حذف گره موجود از درخت جستجوی دودویی Deleting an Existing Node from Binary Search Tree

  • لیت‌کد ۲۳۰: kth کوچکترین عنصر در BST با پایتون Leetcode #230 - Kth Smallest Element in BST - Python

  • لیت‌کد ۹۸: اعتبارسنجی درخت جستجوی دودویی با پایتون Leetcode #98 - Validate Binary Search Tree - Python

  • لیت‌کد ۲۳۵: پایین‌ترین جد مشترک در درخت جستجوی دودویی با پایتون Leetcode #235 - Lowest Common Ancestor of a Binary Search Tree - Python

برنامه‌نویسی پویا (Dynamic Programming) Dynamic Programming

  • مقدمه‌ای بر برنامه‌نویسی پویا Introduction to Dynamic Programming

  • مسئله کاربردی ۲: بازی پرش (Jump Game) Practice Problem 2 - Jump Game

  • مسئله کاربردی ۳: تعویض سکه (Coin Change) Practice Problem 3 - Coin Change

  • مسئله کاربردی ۴: مجموع هدف (Target Sum) Practice Problem 4 - Target Sum

  • مسئله کاربردی ۵: طولانی‌ترین زیردنباله مشترک Practice Problem 5 - Longest Common Subsequence

  • مسئله کاربردی ۶: سارق خانه (House Robber) Practice Problem 6 - House Robber

  • مسئله کاربردی ۷: طولانی‌ترین زیردنباله صعودی Practice Problem 7 - Longest Increasing Subsequence

  • مسئله کاربردی ۸: مجموع زیرمجموعه برابر Practice Problem 8 - Partition Equal Subset Sum

  • مسئله کاربردی ۹: ماتریس ۰ و ۱ Practice Problem 9 - 0-1 Matrix

  • مسئله کاربردی ۱۰: جایگزینی عدد صحیح Practice Problem 10 - Integer Replacement

  • مسئله کاربردی ۱۱: رمزگشایی روش‌ها Practice Problem 11 - Decode Ways

  • مسئله کاربردی ۱۳: حداقل هزینه صعود از پله‌ها Practice Problem 13 - Min Cost Climbing Stairs

  • مسئله کاربردی ۱۴: طولانی‌ترین زیررشته متقارن Practice Problem 14 - Longest Palindromic Substring

ساختار داده مجموعه مجزا و الگوریتم‌های Union Find Disjoint Set Data Structure and Union Find Algorithms

  • مقدمه‌ای بر ساختار داده مجموعه مجزا (Disjoint Set) Introduction to Disjoint Set Data Structure

  • درک ساختار داده مجموعه مجزا Understanding Disjoint Set Data Structure

  • بهینه‌سازی Union by Rank Union by Rank Optimization

  • پیاده‌سازی ساختار داده مجموعه مجزا با پایتون Disjoint Set Data Structure Python Implementation

  • بهینه‌سازی فشرده‌سازی مسیر (Path Compression) Path Compression Optimization

  • پیاده‌سازی بهینه‌سازی فشرده‌سازی مسیر Path Compression Optimization Implementation

گراف‌ها Graphs

  • گراف‌ها چیستند؟ What Are Graphs?

  • گراف‌های جهت‌دار در مقابل بدون جهت Directed vs. Undirected Graphs

  • گراف‌های وزن‌دار در مقابل بدون وزن Weighted vs. Unweighted Graphs

  • اصطلاحات گراف - بخش اول Terms of Graphs Part 1

  • انواع گراف‌ها - بخش اول Types of Graphs Part 1

  • انواع گراف‌ها - بخش دوم Types of Graphs Part 2

  • پیاده‌سازی گراف‌ها - بخش اول Implementing Graphs Part 1

  • پیاده‌سازی گراف‌ها - بخش دوم Implementing Graphs Part 2

  • پیاده‌سازی گراف‌ها - بخش سوم Implementing Graphs Part 3

  • پیاده‌سازی ماتریس مجاورت Adjacency Matrix Implementation

  • پیاده‌سازی لیست مجاورت Adjacency List Implementation

  • مقدمه‌ای بر پیمایش‌ها Introduction to Traversals

  • نحوه عملکرد BFS BFS Working

  • پیاده‌سازی BFS BFS Implementation

  • ویژگی شماره ۱ BFS BFS Property #1

  • استفاده از BFS در گراف‌های وزن‌دار دودویی BFS Over Binary Weighted Graphs

  • مقدمه‌ای بر DFS Introduction to DFS

  • پیاده‌سازی تکرار شونده DFS DFS Iterative Implementation

  • پیاده‌سازی بازگشتی DFS DFS Recursive Implementation

  • ویژگی‌های مهم DFS DFS Important Properties

  • تشخیص چرخه - بخش اول Cycle Detection Part 1

  • تشخیص چرخه - بخش دوم Cycle Detection Part 2

  • تشخیص چرخه - بخش سوم Cycle Detection Part 3

  • پیاده‌سازی تشخیص چرخه Cycle Detection Implementation

  • مرتب‌سازی توپولوژیک چیست؟ What Is Topological Sorting?

  • مثال مرتب‌سازی توپولوژیک شماره ۱ Topological Sorting Example #1

  • مسئله کوتاه‌ترین مسیر از یک منبع Single Source Shortest Path Problem

  • الگوریتم دایکسترا Dijkstra's Algorithm

  • پیاده‌سازی الگوریتم دایکسترا Dijkstra's Algorithm Implementation

  • مقدمه‌ای بر الگوریتم بلمن-فورد Introduction to Bellman-Ford Algorithm

  • نحوه عملکرد الگوریتم بلمن-فورد Bellman-Ford Algorithm Working

  • پیاده‌سازی الگوریتم بلمن-فورد Bellman-Ford Algorithm Implementation

  • مقدمه‌ای بر درخت پوشای کمینه (MST) Introduction to Minimum Spanning Tree

  • الگوریتم پریم Prim's Algorithm

  • پیاده‌سازی الگوریتم پریم Prim's Algorithm Implementation

  • مسئله کاربردی ۱: یافتن قاضی شهر Practice Problem 1 - Find the Town Judge

  • مسئله کاربردی ۱: زمان‌بندی دروس Practice Problem 1 - Course Schedule

  • مسئله کاربردی ۲: تعداد جزایر Practice Problem 2 - Number of Islands

  • مسئله کاربردی ۴: مناطق محاصره شده Practice Problem 4 - Surrounded Regions

  • مسئله کاربردی ۵: تعداد محفظه‌ها Practice Problem 5 - Number of Enclaves

  • مسئله کاربردی ۶: زمان تأخیر شبکه Practice Problem 6 - Network Delay Time

  • مسئله کاربردی ۷: پر کردن سیل (Flood Fill) Practice Problem 7 - Flood Fill

دستکاری بیت‌ها (Bit Manipulation) Bit Manipulation

  • مقدمه‌ای بر عملگرهای بیتی Introduction to Bitwise Operators

  • عملگرهای بیتی رایج Common Bitwise Operators

  • لیت‌کد ۱۳۶: عدد تک با پایتون Leetcode #136 - Single Number - Python

  • لیت‌کد ۳۳۸: شمارش بیت‌ها با پایتون Leetcode #338 - Counting Bits - Python

  • لیت‌کد ۲۸۷: یافتن عدد تکراری با پایتون Leetcode #287 - Find the Duplicate Number - Python

  • لیت‌کد ۲۹: تقسیم دو عدد صحیح با پایتون Leetcode #29 - Divide Two Integers - Python

  • لیت‌کد ۲۶۸: عدد گم‌شده با پایتون Leetcode #268 - Missing Number - Python

  • لیت‌کد ۱۹۱: تعداد بیت‌های ۱ با پایتون Leetcode #191 - Number of 1 Bits - Python

  • لیت‌کد ۷: معکوس کردن عدد صحیح با پایتون Leetcode #7 - Reverse Integer - Python

بازگشتی و پس‌گردش (Backtracking) Recursion & Backtracking

  • مقدمه‌ای بر پس‌گردش (Backtracking) Introduction to Backtracking

  • مثال پس‌گردش Backtracking Example

  • لیت‌کد ۳۹: مجموع ترکیبی با پایتون Leetcode #39 - Combination Sum - Python

  • لیت‌کد ۷۸: زیرمجموعه‌ها با پایتون Leetcode #78 - Subsets - Python

  • لیت‌کد ۵۱: مسئله N-ملکه با پایتون Leetcode #51 - N Queens - Python

رشته‌ها Strings

  • مسئله کاربردی ۱: حداقل مقدار برای معتبر کردن پرانتزها Practice Problem 1 - Minimum Add to Make Parenthesis Valid

  • مسئله کاربردی ۲: گروه‌بندی آناگرام‌ها Practice Problem 2 - Group Anagrams

ساختارهای داده پیشرفته: درخت قطعه‌ای (Segment Tree) Advanced Data Structures - Segment Tree

  • مقدمه‌ای بر مسئله پرس‌وجوی مجموع بازه Introduction to Range Sum Query Problem

  • مقدمه‌ای بر درخت قطعه‌ای: ساخت یک درخت قطعه‌ای Introduction to Segment Tree - Building a Segment Tree

  • پاسخ به پرس‌وجوها با استفاده از درخت قطعه‌ای Answering Queries Using Segment Tree

  • به‌روزرسانی مقادیر در درخت قطعه‌ای Segment Tree Updating Values

  • پیاده‌سازی تابع ساخت درخت قطعه‌ای Segment Tree Build Function Implementation

  • پیاده‌سازی تابع پرس‌وجوی درخت قطعه‌ای Segment Tree Query Function Implementation

  • پیاده‌سازی تابع به‌روزرسانی درخت قطعه‌ای Segment Tree Update Function Implementation

نمایش نظرات

آموزش ساختارهای داده و الگوریتم‌های پیشرفته در عمل
جزییات دوره
17h 3m
101
(آخرین آپدیت)
93
- از 5
دارد
دارد
دارد
Chris Croft
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Chris Croft Chris Croft

مربی مدیریت، سخنران، نویسنده