آموزش ساختار داده‌ها و الگوریتم‌ها در جاوا + ۱۵۰ مسئله لیت‌کد - آخرین آپدیت

دانلود Data Structures & Algorithms in Java + 150 Leetcode Problems

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:

یادگیری ساختار داده و الگوریتم (DSA) در جاوا برای موفقیت در مصاحبه‌های کدنویسی

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

این دوره آموزشی بر روی ۱۵۰ مسئله برتر لیت‌کد (LeetCode) تمرکز دارد که غالباً در مصاحبه‌های شرکت‌های بزرگ فناوری مطرح می‌شوند. با تسلط بر این مسائل، آمادگی کامل برای هر نوع مصاحبه کدنویسی را کسب خواهید کرد.

چرا لیت‌کد؟

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

مزایای این دوره آموزشی برای شما:

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

  • رویکردهای سیستماتیک برای حل مسئله: شکستن مسائل به بخش‌های قابل مدیریت و ساخت الگوریتم‌های کارآمد برای مواجهه با هر چالشی.

  • پیاده‌سازی زنده کد: مشاهده حل هر مسئله به صورت لحظه‌ای برای درک فرآیند کدنویسی از نزدیک.

  • یادگیری عملی و کاربردی: تقویت مهارت‌های کدنویسی از طریق تمرین‌های عملی برای آمادگی در سناریوهای واقعی.

  • بهینه‌سازی کد و جلوگیری از اشتباهات رایج: یادگیری روش‌های کدنویسی کارآمد، تکنیک‌های بهینه‌سازی و دام‌های متداول برای نوشتن کدهای تمیز و بهینه.

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

  • دسترسی به نمونه کدها: فایل‌های نمونه کد همراه با ویدئوهای آموزشی به عنوان منابع ارزشمند برای پشتیبانی از یادگیری و پیاده‌سازی موثر راه‌حل‌ها.

پیش‌نیازها:

تجربه اولیه کدنویسی شامل مفاهیمی مانند حلقه‌های for و آرایه‌ها.

موضوعات کلیدی پوشش داده شده:

  • ساختار داده و الگوریتم (DSA) با پیاده‌سازی
  • مسائل لیت‌کد در برنامه‌نویسی پویا (Dynamic Programming) و الگوریتم‌های حریصانه (Greedy Algorithms) در جاوا
  • مسائل لیت‌کد در گراف‌ها (Graphs)، درخت‌ها (Trees) و بازگشتی (Backtracking) در جاوا
  • مسائل لیت‌کد در آرایه‌ها (Arrays)، پنجره لغزان (Sliding Window)، دو اشاره‌گر (Two Pointer) و مسائل متفرقه (Ad hoc Problems) در جاوا

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

مقدمه دوره Course Introduction

  • چگونه با Leetcode شروع کنیم؟ How to get started with Leetcode ?

تحلیل پیچیدگی زمانی و فضایی Time & Space Complexity Analysis

  • مقدمه ای بر پیچیدگی زمانی و فضایی Introduction to Time & Space Complexity

  • Big O Notation چیست؟ What is Big O Notation ?

  • بررسی قابل قبول بودن Big O Notation در مصاحبه ها Checking If Big O Notation Is Acceptable in Interviews

  • مثال ۱ محاسبه پیچیدگی زمانی Calculating Time Complexity Example 1

  • مثال ۲ محاسبه پیچیدگی زمانی Calculating Time Complexity Example 2

  • باور غلط در مورد پیچیدگی زمانی Myth About Time Complexity

  • محاسبه پیچیدگی زمانی موارد بازگشتی Calculating Time Complexity Of Recursive Cases

  • مثال ۲ پیچیدگی زمانی بازگشتی Recursive Time Complexity Example 2

  • نمایش زنده پیچیدگی زمانی Time Complexity Live Demonstration

  • محاسبه پیچیدگی فضایی Calculating Space Complexity

  • مثال ۱ پیچیدگی فضایی بازگشتی Recursive Space Complexity Example 1

  • مثال ۲ پیچیدگی فضایی بازگشتی Recursive Space Complexity Example 2

تئوری آرایه‌ها + مسائل تمرینی آرایه از Leetcode Arrays Theory + Array Practice Problems From Leetcode

  • آرایه‌ها چه هستند و چرا اینقدر سریعند! What are arrays and why are they so fast!

  • معایب استفاده از آرایه‌ها Drawbacks of using Arrays

  • آرایه‌های تغییر اندازه دهنده چگونه کار می‌کنند؟ How do resizable arrays work ?

  • متدهای مهم آرایه در جاوا قسمت ۱ Important Array Methods In Java Part 1

  • مسئله تمرینی ۱ - بیشترین مجموع زیرآرایه Practice Problem 1 - Maximum Sum Subarray

  • مسئله تمرینی ۲ - بهترین زمان برای خرید و فروش سهام Practice Problem 2 - Best Time To Buy And Sell A Stock

  • مسئله تمرینی ۳ - بیشترین حاصلضرب زیرآرایه Practice Problem 3 - Maximum Product Subarray

  • مسئله تمرینی ۴ - حاصلضرب آرایه به جز خودش Practice Problem 4 - Product Of Array Except Self

  • مسئله تمرینی ۵ - چرخش آرایه Practice Problem 5 - Rotate Array

  • مسئله تمرینی ۶ - بیشترین اعداد متوالی ۱ Practice Problem 6 - Max Consecutive Ones

  • مسئله تمرینی ۷ - سودوکو معتبر Practice Problem 7 - Valid Sudoku

  • مسئله تمرینی ۸ - نزدیکترین نقاط K به مبدا Practice Problem 8 - K Closest Points To Origin

  • مسئله تمرینی ۹ - کدگذاری و کدگشایی رشته‌ها Practice Problem 9 - Encode and Decode Strings

تئوری مرتب‌سازی + مسائل تمرینی مرتب‌سازی Sorting Theory + Sorting Practice Problems

  • Leetcode #283 - جابجایی صفرها - جاوا Leetcode #283 - Move Zeroes - Java

  • Leetcode #75 - مرتب‌سازی رنگ‌ها - جاوا Leetcode #75 - Sort Colors - Java

  • Leetcode #169 - عنصر اکثریت - جاوا Leetcode #169 - Majority Element - Java

لیست‌های پیوندی Linked Lists

  • عیب آرایه‌ها Drawback Of Arrays

  • لیست پیوندی چیست؟ What Is Linked List

  • پیاده‌سازی لیست‌های پیوندی Implementing Linked Lists

  • پیمایش لیست‌های پیوندی Iterating Over Linked Lists

  • درج در لیست پیوندی Inserting In Linked List

  • حذف از ابتدای لیست پیوندی Deleting From Front In Linked List

  • لیست پیوندی دوطرفه چیست؟ What Is Doubly Linked List

  • کلاس لیست پیوندی در جاوا Linked List Class In Java

  • ایجاد لیست‌های پیوندی Creating Linked Lists

  • استفاده از پیمایشگرها برای پیمایش Using Iterators To Iterate

  • شامل می‌شود Contains

  • پیمایش به ترتیب معکوس Iterating In Reverse Order

  • افزودن متدها در لیست پیوندی Add Methods In Linked List

  • متدهای حذف در لیست‌های پیوندی Removal Methods In Linked Lists

  • مسئله تمرینی ۱ - تقاطع دو لیست پیوندی Practice Problem 1 - Intersection Of Two Linked Lists

  • مسئله تمرینی ۲ - ادغام دو لیست مرتب شده Practice Problem 2 - Merge Two Sorted Lists

  • مسئله تمرینی ۳ - چرخه لیست پیوندی Practice Problem 3 - Linked List Cycle

  • مسئله تمرینی ۴ - معکوس کردن لیست پیوندی Practice Problem 4-Reverse Linked List

  • مسئله تمرینی ۵ - لیست پیوندی پالیندروم Practice Problem 5-Palindrome Linked List

  • مسئله تمرینی ۶ - چرخه لیست پیوندی II Practice Problem 6 - Linked List Cycle II

  • مسئله تمرینی ۷ - یافتن میانه لیست پیوندی Practice Problem 7 - Find Middle Of The Linked List

  • مسئله تمرینی ۸ - حذف N-امین گره از انتهای لیست Practice Problem. 8 - Remove Nth Node From End Of List

  • مسئله تمرینی ۹ - جمع دو عدد Practice Problem 9 - Add Two Numbers

  • مسئله تمرینی ۱۰ - بازترتیب لیست Practice Problem 10 - Reorder List

تئوری جدول هش + مسائل تمرینی Leetcode Hash Table Theory + Leetcode Practice Problems

  • جدول هش چیست؟ What Is Hash Table

  • جدول هش چگونه کار می‌کند؟ How does a hash table work ?

  • حل برخورد جدول هش Hash Table Collision Resolution

  • انواع جدول هش Types Of Hash Table

  • کاربرد جدول هش Hash Table Usage

  • مسئله تمرینی ۱ - دو مجموع Practice Problem 1 - Two Sum

  • مسئله تمرینی ۲ - سه مجموع Practice Problem 2 - Three Sum

  • مسئله تمرینی ۳ - طولانی‌ترین دنباله متوالی Practice Problem 3 - Longest Consecutive Sequence

  • مسئله تمرینی ۴ - شامل تکراری Practice Problem 4 - Contains Duplicate

  • مسئله تمرینی ۵ - آناگرام معتبر Practice Problem 5 - Valid Anagram

  • مسئله تمرینی ۶ - گروه‌بندی آناگرام‌ها Practice Problem 6 - Group Anagrams

  • مسئله تمرینی ۷ - اولین عدد مثبت گمشده Practice Problem 7 - First Missing Positive

پشته‌ها Stacks

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

  • استفاده از پشته‌ها در جاوا Using Stacks In Java

  • مسئله تمرینی ۱ - پرانتزهای معتبر Practice Problem 1 - Valid Paranthesis

  • مسئله تمرینی ۲ - کمینه پشته Practice Problem 2 - Min Stack

  • مسئله تمرینی ۳ - عنصر بزرگتر بعدی II Practice Problem 3-Next Greater Element II

  • مسئله تمرینی ۴ - ارزیابی نمادگذاری معکوس لهستانی Practice Problem 4 - Evaluate Reverse Polish notation

صف‌ها Queue

  • مقدمه‌ای بر صف Introduction to Queue

  • صف چگونه پیاده‌سازی می‌شود How Is Queue Implemented

  • استفاده از صف در جاوا Using Queue In 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

  • مسئله تمرینی ۳ - دو مجموع II - آرایه ورودی مرتب شده است - جاوا 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)

الگوی آرایه #۴ - بازه‌ها 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 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 #39 - مجموع ترکیبات - جاوا Leetcode #39 -Combination Sum - Java

  • Leetcode #78 - زیرمجموعه‌ها - جاوا Leetcode #78 - Subsets - Java

  • Leetcode #51 - N وزیر - جاوا Leetcode #51 - N Queens - Java

  • Leetcode #46 - جایگشت‌ها - جاوا Leetcode #46 - Permutations - Java

  • Leetcode #90 - زیرمجموعه‌ها II - جاوا Leetcode #90 - Subsets II - Java

  • Leetcode #40 - مجموع ترکیبات II Leetcode #40 - Combinations Sum II

  • Leetcode #17 - ترکیبات حروف یک شماره تلفن Leetcode #17 - Letter Combinations Of A Phone Number

  • Leetcode #79 - جستجوی کلمه Leetcode #79 - Word Search

  • Leetcode #212 - جستجوی کلمه II Leetcode #212 - Word Search II

تئوری و پیاده‌سازی درخت‌های دودویی Binary Trees Theory & Implementation

  • مقدمه‌ای بر درخت‌های دودویی Introduction to Binary Trees

  • اصطلاحات مربوط به درخت‌ها Terms Related To Trees

  • الگوریتم‌های پیمایش درخت Tree Traversal Algorithms

  • پیمایش سطح به سطح Level Order Traversal

  • پیاده‌سازی درخت‌ها با استفاده از ارجاعات Implementing Trees Using References

  • پیاده‌سازی درخت‌ها با استفاده از آرایه‌ها Implementing Trees Using Arrays

  • پیاده‌سازی پیمایش پیش‌ترتیب در درخت‌ها با استفاده از آرایه‌ها PreOrder Traversal Implementation in Trees Using Arrays

الگوی درخت دودویی #۱ - مسائل مبتنی بر بازگشت مستقیم Binary Tree Pattern #1 - Direct Recursion Based Problems

  • Leetcode #100 - درخت یکسان - جاوا Leetcode #100 - Same Tree - Java

  • Leetcode #572 - زیردرخت درخت دیگر - جاوا Leetcode #572 - Subtree Of Another Tree - Java

  • Leetcode #101 - درخت متقارن - جاوا Leetcode #101 - Symmetric Tree - Java

  • Leetcode #104 - حداکثر عمق درخت دودویی - جاوا Leetcode #104 - Maximum Depth Of A Binary Tree - Java

  • Leetcode #226 - معکوس کردن درخت دودویی - جاوا Leetcode #226 - Invert Binary Tree - Java

  • Leetcode #543 - قطر درخت دودویی - جاوا Leetcode #543 - Diameter Of A Binary Tree - Java

الگوی درخت دودویی #۱ - مسائل مبتنی بر بازگشت مستقیم Binary Tree Pattern #1 - Direct Recursion Based Problems

  • Leetcode #94 - پیمایش درونی درخت دودویی - جاوا Leetcode #94 - Binary Tree InOrder Traversal - Java

  • Leetcode #102 - پیمایش سطح به سطح درخت دودویی - جاوا Leetcode #102 - Binary Tree Level Order Traversal - Java

  • Leetcode #112 - مسیر مجموع - جاوا Leetcode #112 - Path Sum - Java

  • Leetcode #113 - مسیر مجموع II - جاوا Leetcode #113 - Path Sum II - Java

  • Leetcode #993 - پسرعموها در درخت دودویی - جاوا Leetcode #993 - Cousins in Binary Tree - Java

  • Leetcode #1161 - حداکثر مجموع سطح درخت دودویی - جاوا Leetcode #1161 - Maximum Level Sum of Binary Tree - Java

  • Leetcode #105-ساخت درخت دودویی از پیمایش پیش‌ترتیب و درونی-جاوا Leetcode #105-Construct Binary Tree FromPreorder and inorder Traversal-Java

  • Leetcode #110 - درخت دودویی متعادل - جاوا Leetcode #110 - Balanced Binary Tree - Java

  • Leetcode #199 - نمای راست درخت دودویی - جاوا Leetcode #199 - Binary Tree Right Side View - Java

  • Leetcode #1448 - شمارش گره‌های خوب در درخت دودویی - جاوا Leetcode #1448 - Count Good Nodes In Binary Tree - Java

  • Leetcode #404 - مجموع برگ‌های چپ - جاوا Leetcode #404 - Sum Of Left Leaves - Java

  • Leetcode #124 - حداکثر مجموع مسیر درخت دودویی Leetcode #124 - Binary Tree Maximum Path Sum

  • Leetcode #208 - پیاده‌سازی تری (درخت مجموع پیشوند) Leetcode #208 - Implement Trie (Prefix Sum Tree)

  • Leetcode #211 - طراحی ساختار داده کلمه اضافه و جستجو Leetcode #211 - Design Add and Search Word Data Structure

  • Leetcode #297 - سریالایز و دسریالایز کردن درخت دودویی Leetcode #297 - Serialize and Deserialize Binary Tree

تئوری درخت‌های جستجوی دودویی + مسائل تمرینی Leetcode Binary Search Tree Theory + Leetcode Practice Problems

  • مقدمه‌ای بر درخت‌های جستجوی دودویی Introduction To Binary Search Trees

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

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

  • جانشین و پیشین درونی Inorder Successor And Predecessor

  • حذف گره در درخت جستجوی دودویی Deleting A Node In Binary Search Tree

  • Leetcode #230 - K-امین کوچکترین عنصر در BST - جاوا Leetcode #230 - Kth Smallest Element In BST - Java

  • Leetcode #98 - اعتبارسنجی درخت جستجوی دودویی - جاوا Leetcode #98 - Validate Binary Search Tree - Java

  • Leetcode #235 - پائین‌ترین جد مشترک درخت جستجوی دودویی - جاوا Leetcode #235 - Lowest Common Ancestor Of A Binary Search Tree - Java

Heapها Heaps

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

  • پیاده‌سازی Heapها Implementation Of Heaps

  • درج در Heapها Insertion in heaps

  • پیاده‌سازی درج Heap Heap Insertion Implementation

  • حذف در Heapها Deletion in heaps

  • Heapify Heapify

  • مسئله تمرینی ۱ - K-امین بزرگترین عنصر در یک آرایه Practice Problem 1 - Kth Largest Element In An Array

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

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

  • Leetcode #1046 - آخرین سنگ وزن - جاوا Leetcode #1046 - Last Stone Weight - Java

  • Leetcode #23 - ادغام K لیست مرتب شده Leetcode #23 - Merge K Sorted Lists

  • Leetcode #253 - اتاق‌های ملاقات II Leetcode #253 - Meeting Rooms II

  • Leetcode #347 - K عنصر پرتکرارتر Leetcode #347 - Top K Frequent Elements

تئوری برنامه‌نویسی پویا + مسائل تمرینی DP (۱D + ۲D + String DP) Dynamic Programming Theory + DP Practice Problems (1D + 2D + String DP)

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

  • مسئله تمرینی ۱ - پله‌های صعود - جاوا Practice Problem 1 - Climbing Stairs - Java

  • مسئله تمرینی ۲ - بازی پرش - جاوا Practice Problem 2 - Jump Game - Java

  • مسئله تمرینی ۳ - تغییر سکه Practice Problem 3-Coin Change

  • مسئله تمرینی ۴ - مجموع هدف Practice Problem 4-Target Sum

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

  • مسئله تمرینی ۶ - سارق خانه 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

  • مسئله تمرینی ۱۲ - سارق خانه II Practice Problem 12 - House Robber II

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

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

  • مسئله تمرینی ۱۵ - شکستن کلمه Practice Problem 15 - Word Break

  • مسئله تمرینی ۱۶ - مسیرهای منحصر به فرد Practice Problem 16 - Unique Paths

  • مسئله تمرینی ۱۷ - زیررشته‌های پالیندروم Practice Problem 17 - Palindromic Substrings

تکنیک‌های دستکاری بیت + مسائل تمرینی Leetcode Bit Manipulation Techniques + Leetcode Practice Problems

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

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

  • Leetcode #136 - تک عدد - جاوا Leetcode #136 - Single Number - Java

  • Leetcode #338 - شمارش بیت‌ها - جاوا Leetcode #338 - Counting Bits - Java

  • Leetcode #287 - یافتن عدد تکراری - جاوا Leetcode #287 - Find the Duplicate Number - Java

  • Leetcode #29 - تقسیم دو عدد صحیح - جاوا Leetcode #29 - Divide Two Integers - Java

  • Leetcode #268 - عدد گمشده - جاوا Leetcode #268 - Missing Number - Java

  • Leetcode #191 - تعداد بیت‌های ۱ - جاوا Leetcode #191 - Number of 1 Bits - Java

  • Leetcode #371 - مجموع دو عدد صحیح - جاوا Leetcode #371 - Sum Of Two Integers - Java

  • Leetcode #7 - معکوس کردن عدد صحیح - جاوا Leetcode #7 - Reverse Integer - Java

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

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

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

  • پیاده‌سازی ساختار داده مجموعه مجزا بخش ۱ Implementing Disjoint Set Data Structure Part 1

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

  • پیاده‌سازی Union by Rank Union By Rank Implementation

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

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

تئوری گراف + مسائل تمرینی گراف (BFS/DFS/الگوریتم کوتاه‌ترین مسیر / MST) Graphs Theory + Graph Practice Problems (BFS/DFS/Shortest Path Algorithm / MST)

  • گراف‌ها چه هستند؟ 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

  • پیاده‌سازی گراف بخش ۳ Graph Implementation Part 3

  • نمایش ماتریس مجاورت گراف Graph Adjacency Matrix Demonstration

  • نمایش لیست مجاورت گراف Graph Adjacency List Demonstration

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

  • عملکرد BFS BFS Working

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

  • راه حل خصوصیت پرتقال‌های پوسیده Rotting Oranges Property Solution

  • خصوصیت BFS ۱ BFS Property 1

  • BFS روی گراف‌های وزن‌دار دودویی BFS Over Binary WeightedGraphs

  • مقدمه‌ای بر 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 Algorithm

  • الگوریتم Dijkstra Djkitras Algorithm

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

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

  • عملکرد الگوریتم Bellman-Ford Bellman Ford Algorithm Working

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

  • الگوریتم Prim Prims Algorithm

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

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

  • مسئله تمرینی ۲ - تعداد جزایر Practice Problem 2-Number Of Islands

  • مسئله تمرینی ۳ - یافتن قاضی شهر Practice Problem 3-Find the Town Judge

  • مسئله تمرینی ۴ - نواحی احاطه شده Practice Problem 4-Surrounded Regions

  • مسئله تمرینی ۵ - تعداد مناطق محصور Practice Problem 5-Number of Enclaves

  • مسئله تمرینی ۶ - سیل‌بندی رنگ Practice Problem 6 - Flood Fill

  • مسئله تمرینی ۷ - زمان تاخیر شبکه Practice Problem 7 - Network Delay Time

  • مسئله تمرینی ۸ - پرتقال‌های پوسیده Practice Problem 8 - Rotting Oranges

  • مسئله تمرینی ۹ - درخت معتبر گراف Practice Problem 9 - Graph Valid Tree

  • مسئله تمرینی ۱۰ - تعداد مولفه‌های همبند در یک گراف غیرجهت‌دار Practice Problem 10 - Number Of Connected Components In An Undirected Graph

  • مسئله تمرینی ۱۱ - اقیانوس آرام اقیانوس اطلس آب Practice Problem 11 - Pacific Atlantic Water

  • مسئله تمرینی ۱۲ - دیکشنری بیگانه Practice Problem 12 - Alien Dictionary

  • مسئله تمرینی ۱۳ - کلون کردن گراف Practice Problem 13 - Clone Graph

الگوریتم‌های حریصانه Greedy Algorithms

  • مقدمه‌ای بر الگوریتم‌های حریصانه Introduction To Greedy Algorithms

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

  • مسئله تمرینی ۲ - بهترین زمان برای خرید و فروش سهام II Practice Problem 2 - Best Time To Buy And Sell Stock II

  • مسئله تمرینی ۳ - آب نبات Practice Problem 3 - Candy

نظریه بازی Game Theory

  • مسئله تمرینی ۱ - بازی نیم Practice Problem 1 - Nim's Game

الگوریتم‌های پیشرفته تطبیق رشته Advanced String Matching Algorithms

  • مقدمه‌ای بر تطبیق الگو Introduction To Pattern Matching

  • تطبیق الگو با رویکرد brute force Pattern Matching Brute Force

  • مقدمه‌ای بر الگوریتم KMP Introduction to KMP Algorithm

  • الگوریتم KMP نسخه ۱ - فضای اضافی KMP Algorithm Version 1 - Extra Space

  • رویکرد brute force طولانی‌ترین پیشوند پسوند Longest Prefix Suffix Brute Force Approach

  • پیاده‌سازی رویکرد brute force طولانی‌ترین پیشوند پسوند Longest Prefix Suffix Brute Force Implementation

  • رویکرد بهینه شده طولانی‌ترین پیشوند پسوند Longest Prefix Suffix Optimized Approach

  • پیاده‌سازی رویکرد بهینه شده طولانی‌ترین پیشوند پسوند Longest Prefix Suffix Optimized Approach Implementation

  • الگوریتم KMP - رویکرد بهینه شده نهایی KMP Algorithm - Final Optimized Approach

  • پیاده‌سازی رویکرد بهینه شده نهایی الگوریتم KMP KMP Algorithm - Final Optimized Approach Implementation

مسائل رشته String Problems

  • مسئله تمرینی ۱ - طولانی‌ترین رشته پالیندروم Practice Problem 1 - Longest Palindromic String

ساختار داده پیشرفته - درخت‌های قطعه‌ای Advanced Data Structure - Segment Trees

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

  • مقدمه‌ای بر درخت قطعه‌ای - ساخت درخت قطعه‌ای Introduction To Segment Tree - Building A Segment Tree

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

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

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

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

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

نمایش نظرات

آموزش ساختار داده‌ها و الگوریتم‌ها در جاوا + ۱۵۰ مسئله لیت‌کد
جزییات دوره
39 hours
266
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
4,606
4.5 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Pratik Singhal Pratik Singhal

مهندس ارشد نرم افزار در آمازون