Course Overview
Looking for the best data structures and algorithms Python course? This structured DSA course is designed for anyone preparing for LEETCODE challenges and technical coding interviews. With 117 hands-on coding exercises spread across 50 structured days, you'll master every essential data structure in Python and algorithm needed to ace your next interview.
Student Testimonials:
"Amazing Course" - Erick Odhiambo Otieno
"I never seen the best course in this learning platform. It is the best course if you want to understand DSA to the core. you should try it guys. thanks a lot sir for this best course." - Nibru Kefyalew
"Great course!" - Shay Keren
"Very thorough and methodical" - Shahjamal Biswas
"Very intuitive and in-depth! so far" - Nikhil Valse
"A good explanation for this problem." - Bhuvan Akoju
"So far good explanation on DS ,recursion and quizzes." - Anuradha Yadavalli
"the instructor is very good at explaining and simplifying complex concept. this course cover all the DSA module in depth withs great examples" - RODRIGUE NGONGANG
"excellent" - Neha Nayak
"Awesomly attractive course!" - Dariusz Jenek
"Great one" - Wilson Edafe
"Excellent Teaching" - Ameeruddin Syed
"It is an excellent platform !!" - Subhajit Bera
About the Course:
Welcome to the Data Structures and Algorithms Coding Interview Bootcamp with Python!
The primary goal of this course is to prepare you for coding interviews at top tech companies. By tackling one problem at a time and understanding its solution, you'll accumulate a variety of tools and techniques for conquering any coding interview.
Daily Data Structures and Algorithms Coding Challenges:
The course is structured around daily coding challenges. Consistent practice will equip you with the skills required to ace coding interviews. For the next 40 days commit to yourself to practice atleast 2 coding interview questions everyday. You don't need any setup for this as the daily coding problem challenges can be solved in the coding environment provided by Udemy. The course will automatically track your progress and you just need to spend your time making actual progress everyday.
Topics Covered:
We start from the basics with Big O analysis, then move on to very important algorithmic techniques such as Recursion, Backtracking and Dynamic Programming Patters. After this we move to cover common data structures, and discuss real problems asked in interviews at tech giants such as Google, Meta, Amazon, Netflix, Apple, and Microsoft.
For each question, we will:
Discuss the optimal approach
Explain time and space complexity
Code the solution in Python (you can follow along in your preferred language)
Additional Resources :
The course includes downloadable resources, motivational trackers, and cheat sheets.
Course Outline:
Day 1: Arrays, Big O, Sorted Squared Array, Monotonic Array
Day 2:Recursion,k-th symbol in Grammar,Josephus problem
Day 3:Recursion, Tower of Hanoi, Power Sum
Day 4:Backtracking, Permutations, Permutations 2
Day 5:Backtracking, Subsets, Subsets 2
Day 6:Backtracking, Combinations, Combinations Sum 1
Day 7:Backtracking,Combinations Sum 2,Combinations Sum 3
Day 8:Backtracking,Sudoku Solver, N Queens
Day 9:Dynamic Programming, Fibonacci, Climbing Stairs
Day 10:Dynamic Programming, Min Cost Climbing Stairs, Tribonacci
Day 11:Dynamic Programming, 01 Knapsack, Unbounded Knapsack
Day 12:Dynamic Programming, Target Sum, Partition Equal Subset Sum
Day 13:Dynamic Programming, LCS, Edit Distance
Day 14:Dynamic Programming, LIS, Max Length of Pair Chain, Russian Doll Envelopes
Day 15:Dynamic Programming, Palindromic Substrings, Longest Palindromic Substring, Longest Palindromic Subsequence
Day 16:Dynamic Programming, Palindrome Partitioning, Palindrome Partitioning 2
Day 17:Dynamic Programming, Word Break, Matrix Chain Multiplication
Day 18:Dynamic Programming, Kadane's algorithm - Max Subarray, Maximum Product Subarray
Day 19:Greedy Algorithms - Fractional Knpasack, Non overlapping Intervals
Day 20:Greedy Algorithms - Jump Game 1, Minimum # of arrows to burst baloons
Day 21:Greedy Algorithms - Two City Scheduling, Boats to Save people
Day 22:Greedy Algorithms - Task Scheduler, Largest Number
Day 23:Greedy Algorithms - Gas Stations, Jump Game 2
Day 24: Arrays, Rotate Array, Container with Most Water
Day 25: Hash Tables, Two Sum, Isomorphic Strings
Day 26: Strings, Non-Repeating Character, Palindrome
Day 27: Strings, Longest Unique Substring, Group Anagrams
Day 28: Searching, Binary Search, Search in Rotated Sorted Array
Day 29: Searching, Find First and Last Position, Search in 2D Array
Day 30: Sorting, Bubble Sort, Insertion Sort
Day 31: Sorting, Selection Sort, Merge Sort
Day 32: Sorting, Quick Sort, Radix Sort
Day 33: Singly Linked Lists, Construct SLL, Delete Duplicates
Day 34: Singly Linked Lists, Reverse SLL, Cycle Detection
Day 35: Singly Linked Lists, Find Duplicate, Add 2 Numbers
Day 36: Doubly Linked Lists, DLL Remove Insert, DLL Remove All
Day 37: Stacks, Construct Stack, Reverse Polish Notation
Day 38: Queues, Construct Queue, Implement Queue with Stack
Day 39: Binary Trees, Construct BST, Traversal Techniques
Day 40: Pre order and In order Traversal of Binary Tree - Iterative
Day 41: Post Order Traversal Iterative, Path Sum 2
Day 42: Construct Binary Tree from Pre and In order Traversal ^ In and Post order Traversal
Day 43: Binary Trees, Level Order Traversal, Left/Right View
Day 44: Level order Trav 2, ZigZag Traversal
Day 45: Vertical order Traversal, Sum root to leaf numbers
Day 46: Binary Trees, Invert Tree, Diameter of Tree
Day 47: Binary Trees, Convert Sorted Array to BST, Validate BST
Day 48: Lowest common Ancestor of BST, Unique BST 2
Day 49: Lowest common Ancestor of Binary Tree, Unique BST 1
Day 50: Serialize and Deserialize Binary Tree, N-ary Tree Level Order Traversal
Day 51: Heaps, Max Heap, Min Priority Queue
Day 52: Graphs, BFS, DFS
Day 53: Graphs, Number of Connected Components, Topological Sort
Day 54: Number of Provinces, Find if path exists in Graph
Day 55: Number of Islands, Numbers with same consecutive differences
My confidence in your satisfaction with this course is so high that we offer a complete money-back guarantee for 30 days! Thus, it's a totally risk-free opportunity. Register today, facing ZERO risk and standing to gain EVERYTHING.
So what are you waiting for? Join the best Python Data Structures & Algorithms Bootcamp on Udemy.
I'm eager to see you in the course.
Let's kick things off! :-)
Jackson
FAQ
FAQ area empty
Course curriculum
-
What you're going to get from this course
Xem trước -
Welcome! How to make best use of this course (Please Watch)
Xem trước -
Day 1 Goals
Xem trước -
Introduction to Data Structures
-
Introduction to Big O, Time Complexity
-
Asymptotic Analysis and Big O
-
Big O Space Complexity
Xem trước -
Big O Logarithm
Xem trước -
Arrays: Data Structures Crash Course
-
Quiz: Arrays
-
CODING EXERCISES
Xem trước -
How to log output to debug code in Udemy Editor
-
CODING INTERVIEW Q1 (Easy): Sorted Squared Array
Xem trước -
Coding Exercise: Sorted Squared Array
-
Method 1, Big O Analysis
-
Python Code - Method 1
-
Quiz - Method 1 (Sorted squarred array)
-
Method 2
-
Python Code - Method 2
-
Quiz - Method 2 (Sorted squarred array)
-
CODING INTERVIEW Q2 (Easy): Monotonic Array
-
Coding Exercise: Monotonic Array
-
Method and Big O analysis
-
Python Code - Monotonic Array
-
Quiz - Monotonic Array
-
Role Play( Beta) : Sorted Squarred Array
-
Celebrating Milestones
-
Day 2 Goals
-
Coding Interview Q1(Medium): Rotate Array
-
Coding Exercise: Rotate Array
-
Method and Big O analysis
-
PYTHON Code Solution
-
Python Code Method 2
-
Coding Interview Q2(Medium): Container with most water
-
Coding Exercise: Container with most water
-
Method 1 and Big O analysis
-
PYTHON Code Method 1
-
Method 2 and Big O analysis
-
PYTHON Code Method 2
-
For Quick Reference : Latest Additions to the Course
-
Best Study Technique to prepare for Coding Interviews
-
Day 2 Goals
-
Recursion Basics
-
Recursive Leap of Faith
-
Visualising Recursion
-
Recursion vs Iteration
-
Ways to write Base condition
-
Recurrence relation
-
How to Solve Recursion Questions
-
Recursion Approaches - 0 to N and N to 0
-
Recursion is everywhere
-
Complexity Analysis of Recursive Solutions
-
Quiz: Recursion
-
CODING INTERVIEW QUESTION (Medium): k-th symbol in Grammar
-
Coding Exercise (k-th symbol in Grammar)
-
Approach(k-th symbol in Grammar)
-
Pseudocode (k-th symbol in Grammar)
-
Complexity Analysis(k-th symbol in Grammar)
-
Python Solution (k-th symbol in Grammar)
-
Quiz - k-th symbol in Grammar
-
CODING INTERVIEW QUESTION (Medium): Josephus problem
-
Coding Exercise: Josephus problem
-
Approach 1
-
Pseudocode
-
Complexity Analysis
-
Python Solution 1: Josephus problem Method 1
-
Quiz - Josephus problem Method 1
-
Approach 2
-
Pseudocode
-
Complexity Analysis
-
Python Solution 2 : Josephus problem Method 2
-
Quiz - Josephus problem Method 2
-
Approach 3
-
Complexity Analysis
-
Python Solution 3 : Josephus problem Method 3
-
Quiz - Josephus problem Method 3
-
Celebrating Milestones
-
Day 3 Goals
-
CODING INTERVIEW QUESTION (Medium): Tower of Hanoi
-
Coding Exercise(Tower of Hanoi)
-
Identifying that wew can use Recursion
-
Approach
-
Recursion Tree
-
Python Solution : Tower of Hanoi
-
Complexity Analysis : Tower of Hanoi
-
CODING INTERVIEW QUESTION(Medium): Power Sum
-
Coding Exercise: Power Sum
-
Method and Big O Analysis
-
Python Solution: Power Sum
-
Celebrating Milestones
-
Day 4 Goals
-
What is Backtracking
-
How is it different from Recursion ?
-
How does Backtracking work ?
-
Pass by reference / change inplace
-
Blueprint to solve questions using Backtracking
-
Identify when to use Backtracking
-
Quiz: Backtracking
-
CODING INTERVIEW QUESTION (Medium): Permutations
-
Coding Exercise ( Permutations)
-
Approach
-
Pseudocode
-
Python Solution : Permutations
-
Complexity Analysis
-
CODING INTERVIEW QUESTION(Medium): Permutations 2
-
Permutations 2
-
Approach
-
Pseudocode
-
Python Code: Permutations 2
-
Complexity Analysis : Permutations 2
-
Celebrating Milestones
-
Day 5 Goals
-
CODING INTERVIEW QUESTION(Medium): Subsets
-
Subsets
-
Method
-
Subsets - Comparison with Backtracking Blueprint
-
Subsets - Complexity Analysis
-
Python Code - Subsets
-
CODING INTERVIEW QUESTION(Medium): Subsets 2
-
Coding Exercise: Subsets 2
-
Approach
-
Python Code: Subsets 2
-
Subsets 2: Complexity Analysis
-
Celebrating Milestones
-
Day 6 Goals
-
CODING INTERVIEW QUESTION(Medium): Combinations
-
Coding Exercise: Combinations
-
Approach
-
Combinations : Complexity Analysis
-
Python Code : Combinations
-
Combinations: Optimisation
-
Python Code: Combinations with Optimisation
-
CODING INTERVIEW QUESTION ( Medium) : Combinations Sum 1
-
Combinations Sum 1
-
Approach
-
Complexity Analysis part 1
-
Sidenote: Max number of nodes
-
Complexity Analysis part 2
-
Python Code: Combinations Sum 1
-
Celebrating Milestones
-
Day 7 Goals
-
CODING INTERVIEW QUESTION (Medium): Combinations Sum 2
-
Coding Exercise: Combinations Sum 2
-
Approach
-
Complexity Analysis
-
Python Code: Combination Sum 2
-
CODING INTERVIEW QUESTION ( Medium) : Combinations Sum 3
-
Coding Exercise: Combinations Sum 3
-
Combination Sum 3 - Short explanation
-
Celebrating Milestones
-
Day 8 Goals
-
CODING INTERVIEW QUESTION(Hard) : Sudoku Solver
-
Sudoku Solver
-
Approach
-
Pseudocode
-
IsValid check for Sudoku Solver
-
Python Code : Sudoku Solver
-
Complexity Analysis
-
Another approach - Sudoku Solver ( Python Code)
-
CODING INTERVIEW QUESTION(Hard): N Queen
-
Coding Exercise: N Queen
-
Approach
-
Pseudocode
-
Python Code: N Queen
-
Complexity Analysis
-
Day 9 Goals
-
Introduction to Dynamic Programming (DP)
-
Dynamic Programming - Patterns
-
Approach to solve DP(Dynamic Programming) Questions
-
Why writing the Recursive solution helps to write the Bottom up approach
-
Identifying Dynamic Programming Questions
-
Quiz: Dynamic Programming
-
CODING INTERVIEW QUESTION(Easy): Fibonacci
-
Coding Exercise: Fibonacci
-
Approaches
-
Approach 1: Recursion
-
Complexity Analysis: Approach 1 - Recursion
-
Python Code - Recursion
-
Approach 2: Memoization
-
Complexity Analysis : Approach 2 - Memoization
-
Python Code: Approach 2 - Memoization
-
Approach 3: Tabulation
-
Complexity Analysis: Approach 3 - Tabulation
-
Python Code: Approach 3 - Tabulation
-
Approach 4: Space Optimised Tabulation + Complexity Analysis
-
Python Code: Approach 4 -Space Optimised Tabulation + Complexity Analysis
-
CODING INTERVIEW QUESTION(Easy): Climbing Stairs
-
Coding Exercise: Climbing Stairs
-
Approach
-
Day 10 Goals
-
CODING INTERVIEW QUESTION(Easy): Min Cost Climbing Stairs
-
Coding Exercise: Minimum Cost Climbing Stairs
-
Recursive Approach
-
Complexity Analysis
-
Python Code: Recursive Approach
-
Memoization Approach
-
Complexity Analysis
-
Python Code: Memoization Approach
-
Tabulation Approach
-
Complexity Analysis
-
Python Code: Tabulation Approach
-
CODING INTERVIEW QUESTION(Easy): Tribonacci
-
Coding Exercise: Tribonacci
-
Day 11 Goals
-
CODING INTERVIEW QUESTION(Medium): 0/1 Knapsack
-
Coding Exercise: 01 Knapsack
-
Approach 1: Recursion
-
Recursive Approach: Pseudocode
-
Recursive Approach: Complexity Analysis
-
Python Code : Recursive Approach
-
Approach 2: Memoization
-
Memoization: Pseudocode
-
Python Code: Memoization
-
Memoization: Complexity Analysis
-
Approach 3: Tabulation
-
Python Code: Tabulation
-
Tabulation: Complexity Analysis
-
Approach 4: Space Optimised Tabulation Approach
-
Python Code: Space Optimised Tabulation
-
Space Optimised Tabulation Approach: Complexity Analysis
-
CODING INTERVIEW QUESTION(Medium): Unbounded Knapsack
-
Coding Exercise: Unbounded Knapsack
-
Tabulation Approach
-
Complexity Analysis
-
Python Code: Unbounded Knapsack
-
Day 13 Goals
-
CODING INTERVIEW QUESTION(Medium): LCS
-
Coding Exercise: LCS ( Longest Common Subsequence)
-
Approach 1: Recursion
-
Pseudocode
-
Recursion Tree and Complexity Analysis
-
Python Code: LCS
-
Approach 2: Memoization
-
Python Code: Memoization - LCS
-
Approach 3: Tabulation
-
Tabulation: Complexity Analysis
-
Python Code : Tabulation - LCS
-
Approach 4: Space Optimised Tabulation - LCS
-
Python Code : Space Optimised Tabulation - LCS
-
CODING INTERVIEW QUESTION(Medium): Edit Distance
-
Coding Exercise: Edit Distance
-
Identifying this as an LCS Type Question
-
Approach 1: Recursion
-
Pseudocode
-
Recursion: Complexity Analysis
-
Python Code: Recursive Approach(Edit Distance)
-
Approach 2: Memoization
-
Python Code: Memoization(Edit Distance)
-
Approach 3: Tabulation
-
Tabulation: Complexity Analysis
-
Python Code: Tabulation (Edit Distance)
-
Approach 4: Space Optimised Tabulation
-
Python Code: Space Optimised Tabulation ( Edit Distance)
-
Day 14 Goals
-
CODING INTERVIEW QUESTION(Medium): Longest Increasing Subsequence (LIS)
-
Coding Exercise: LIS
-
Approach 1: Recursion - LIS
-
Recursion Tree
-
Complexity Analysis - Recursion - LIS
-
Python Code - Recursion - LIS
-
Approach 2: Memoization
-
Complexity Analysis - Memoization
-
Python Code - Memoization - LIS
-
Approach 3: Tabulation - using a 2D dp array
-
Dry run
-
Complexity Analysis - Tabulation - using a 2D dp array
-
Python Code - Tabulation using a 2D dp array - LIS
-
Approach 4: Tabulation - using a 1D dp array
-
Dry run
-
Complexity Analysis- Tabulation - using a 1D dp array
-
Python Code-Tabulation - using a 1D dp array
-
Approach 5: using Binary Search - LIS
-
Part 1 - Approach 5: using Binary Search - LIS
-
Part 2 - Approach 5: using Binary Search - LIS
-
Binary Search for this question ( refer Binary Search section for more details)
-
Complexity Analysis - Approach 5: using Binary Search - LIS
-
Python Code - Approach 5: using Binary Search - LIS
-
CODING INTERVIEW QUESTION(Medium): Max Length of Pair Chain
-
Coding Exercise: Max Length of Pair Chain
-
Why Sort ?
-
Approach
-
Complexity Analysis
-
Python Code - Max Length of Pair Chain
-
CODING INTERVIEW QUESTION(Hard): Russian Doll Envelopes
-
Coding Exercise: Russian Doll Envelopes
-
Approach
-
Complexity Analysis
-
Python Code
-
Python Code - using Binary Search variant for LIS
-
Day 15 Goals
-
Introduction to Gap Strategy or Length wise Iteration
-
CODING INTERVIEW QUESTION(Medium): Palindromic Substrings
-
Palindromic Substrings
-
Intuition for Approach
-
Idetifying this as a DP question
-
Approach: Recursion with memoization
-
Pseudocode
-
Filling the Memoization table
-
Iterate length wise
-
Recursion with memoization: Complexity analysis
-
Python Code: Recursion with memoization
-
Tabulation approach
-
Tabulation approach: Complexity Analysis
-
Python Code: Tabulation
-
CODING INTERVIEW QUESTION(Medium): Longest Palindromic Substring
-
Coding Exercise: Longest Palindromic Substring
-
Approach (Tabulation)
-
Complexity Analysis
-
Python Code
-
CODING INTERVIEW QUESTION(Medium): Longest Palindromic Subsequence
-
Coding Exercise: Longest Palindromic Subsequence
-
Approach
-
Complexity Analysis
-
Python Code
-
Day 16 Goals
-
Introduction to the Partition method
-
CODING INTERVIEW QUESTION(Medium): Palindrome Partitioning
-
Coding Exercise: Palindrome Partitioning
-
Approach
-
Pseudocode
-
Side note: Computing n C r
-
Complexity Analysis
-
Python Code: Palindrome Partitioning
-
CODING INTERVIEW QUESTION(Hard):Palindrome Partitioning 2 ( Minimum Cuts) - Hard
-
Coding Exercise: Palindrom Partitioning 2 ( Min Cuts)
-
Approach 1: Recursion
-
Python Code: Recursion - Palindrome Partitioning 2
-
Approach 2: Memoization
-
Python Code: Memoization - Palindrome Partitioning 2
-
Tabulation - Approach A : Palindrome Partitioning 2
-
Dry Run
-
Pseudocode
-
Python Code : Tabulation - Approach A : Palindrome Partitioning 2
-
Complexity Analysis
-
Tabulation - Approach B : Palindrome Partitioning 2
-
Dry run
-
Pseudocode
-
Python Code: Tabulation - Approach B : Palindrome Partitioning 2
-
Complexity Analysis
-
Day 17 Goals
-
CODING INTERVIEW QUESTION(Medium): Word Break
-
Coding Exercise: Word Break
-
Approaches
-
Approach 1: Tabulation
-
Pseudocode
-
Complexity Analysis
-
Python Code
-
APPROACH 2 : Part A : Memoization
-
Pseudocode
-
Complexity Analysis
-
Python Code - Recursion
-
Python Code- Memoization
-
APPROACH 2: Part B: Tabulation
-
Pseudocode
-
Complexity Analysis
-
Python Code
-
CODING INTERVIEW QUESTION(Hard): Matrix Chain Multiplication
-
Coding Exercise: Matrix Chain Multiplication
-
How to do Matrix Multiplication
-
Back to the Question
-
Intuition
-
Recursive approach
-
Recursive Approach - Pseudocode
-
Complexity Analysis
-
Python Code - Recursive approach
-
Memoization approach
-
Complexity Analysis
-
Python Code - Memoization
-
Tabulation Approach
-
Complexity Analysis
-
Python Code - Tabulation Approach
-
What is a Greedy Algorithm ?
-
What are Greedy Algorithms used for ?
-
What problems are suitable for Greedy Algorithms ?
-
How the 2 properties interact with each other (Optional)
-
Greedy Approach vs Dynamic Programming
-
Quiz - Greedy
-
CODING INTERVIEW QUESTION : Fractional Knapsack
-
Coding Exercise : Fractional Knapsack
-
Approach
-
Pseudocode
-
Complexity Analysis
-
Python Code - Fractional Knapsack
-
Quiz - Fractional Knpasack
-
CODING INTERVIEW QUESTION: Non overlapping Intervals
-
Coding Exercise: Non overlapping Intervals
-
CODING INTERVIEW QUESTION: Jump Game 1
-
Coding Exercise: Jump Game 1
-
Approach
-
Greedy Approach 1
-
Greedy Approach 2
-
Complexity Analysis
-
Python Code (Greedy Approach) - Jump Game 1
-
Python Code - For Dynamic Programming approaches
-
CODING INTERVIEW QUESTION: Minimum # of arrows to burst baloons
-
Coding Exercise: Minimum # of arrows to burst baloons
-
CODING INTERVIEW QUESTION: Two City Scheduling
-
Coding Exercise: Two City Scheduling
-
Approach
-
Pseudocode
-
Complexity Analysis
-
Python Code - Greedy Approach
-
Python Code - Dynamic Programming
-
Quiz - Two City Scheduling
-
CODING INTERVIEW QUESTION: Boats to Save people
-
Coding Exercise: Boats to Save people
-
Day 25 Goals
-
Hash Table: Data Structures Crash Course
-
Coding Interview Q1(Easy): Two Sum
-
Coding Exercise: Two Sum
-
Method 1, Big O analysis
-
PYTHON Code
-
Method 2, Big O analysis
-
PYTHON Code
-
Coding Interview Q2(Easy): Isomorphic Strings
-
Coding Exercise: Isomorphic Strings
-
Method and Big O analysis
-
PYTHON Code
-
Introduction to Sliding Window Pattern
-
CODING INTERVIEW QUESTION: Max Avg Subarray I
-
Max Avg Subarray I
-
Method
-
Complexity Analysis
-
Python Code
-
CODING INTERVIEW QUESTION: Repeated DNA Sequence
-
Repeated DNA Sequence
-
Test cases
-
Method 1
-
Complexity Analysis
-
Python Code: Method 1
-
Method 2
-
(Optional) Basics - Converting a number from base 4 to base 10
-
Complexity Analysis
-
Python Code: Method 2
-
Understanding the Polynomial Rolling Hash Technique and the Rabin-Karp Algorithm
-
CODING INTERVIEW QUESTION: Sliding Window Maximum
-
Sliding Window Maximum
-
Test Cases
-
SideNote : Deque Data Structure
-
Method - Part 1 (Intuition / Observations)
-
Method - Part 2 (Walkthrough)
-
Complexity Analysis
-
Python Code
-
CODING INTERVIEW QUESTION: Minimum Window Substring
-
Minimum Window Substring
-
Test Cases
-
Method
-
Walkthrough
-
Complexity Analysis
-
Python Code
-
Day 26 Goals
-
Data Structures Crash Course: Strings
-
Coding Interview Q1(Easy): First Non Repeating Character
-
Coding Exercise: First Non Repeating Character
-
Method 1 and Big O analysis
-
PYTHON code
-
Method 2 and Big O analysis
-
PYTHON code
-
Coding Interview Q2(Easy): Is Palindrome ?
-
Coding Exercise: Is Palindrome ?
-
Method 1 and Big O analysis
-
PYTHON code
-
Method 2 and Big O analysis
-
PYTHON code
-
Method 3 and Big O analysis
-
PYTHON code
-
Day 28 Goals
-
Coding Interview Q1 (Easy): Binary Search Algorithm
-
Coding Exercise: Binary Search Algorithm
-
Method and Big O analysis
-
PYTHON Code Iterative
-
PYTHON Code Recursive
-
Coding Interview Q2(Medium): Search in rotated sorted array
-
Coding Exercise: Search in rotated sorted array
-
Method and Big O analysis
-
PYTHON Code
-
Introduction to Merge Intervals Coding Interview Question Pattern
-
CODING INTERVIEW QUESTION: Merge Intervals
-
Merge Intervals
-
Method - Part 1
-
Method Part 2 - Walkthrough
-
Complexity Analysis
-
Python Code
-
CODING INTERVIEW QUESTION: Insert Interval
-
Insert Interval
-
Method Part 1
-
Method Part 2 - Walkthrough
-
Complexity Analysis
-
Python Code
-
Day 33 Goals
-
Data Structures Crash Course: Linked Lists
-
Coding Interview Q1(Medium): Design a Singly Linked List
-
Coding Exercise: Design a Singly Linked List
-
Method and Big O analysis
-
Python Code
-
Coding Interview Q2: Remove Duplicates
-
Coding Exercise: Remove Duplicates
-
Method and Big O analysis
-
Python Code
-
Day 36 Goals
-
Coding Interview Q1: Remove Node, Insert Node
-
Coding Exercise: Remove Node
-
Method remove
-
Python code: Remove
-
Insert Intro
-
Method Insert
-
Coding Exercise: Insert Node
-
Python code: Insert
-
Coding Interview Q2: Remove Value, Insert at Position in Doubly Linked List
-
Coding Exercise :Remove Value in Doubly Linked List
-
Remove Val Method
-
Python Code
-
Insert at Position
-
Method
-
Coding Exercise: Insert at Position in DLL
-
Python Code
-
Day 39 Goals
-
Data Structures Crash Course: Trees Introduction
-
Theory: Binary Trees 1
-
Proof : height of Balanced Binary tree is floor(log N)
-
Theory: Binary Tree Terminaologies
-
What is a BST - Binary Search Tree
-
Coding Interview Q1: Construct Binary Search Tree,Big O analysis
-
Coding Exercise: Construct Binary Search Tree
-
Python Code
-
Coding Interview Q2 : Traverse - BFS and DFS,Big O analysis
-
Coding Exercise : Traverse - BFS
-
Coding Exercise: Traverse - DFS(post , in and pre - order ) - recursive
-
Python Code - DFS ( Post, In , Pre - Order Traversal of Binary Tree) - Recursive
-
Python Code
-
Today's Goal
-
CODING INTERVIEW QUESTION: Pre order Traversal of Binary Tree : Iterative
-
Pre order Traversal : Iterative
-
Approach
-
Complexity Analysis
-
Python Code: Preorder Traversal : Iterative
-
CODING INTERVIEW QUESTION: Inorder Traversal of Binary Tree - Iterative
-
Inorder Traversal with stack
-
Approach
-
Complexity Analysis
-
Python Code - Inorder Traversal of Binary Tree
-
Today's Goal
-
CODING INTERVIEW QUESTION: Post order traversal of Binary Tree - Iterative
-
Post Order Traversal of Binary Tree - Iterative
-
Approach
-
Complexity Analysis
-
Python Code - Postorder Traversal of Binary Tree
-
CODING INTERVIEW QUESTION: Path Sum 2
-
Path Sum 2
-
Approach
-
Complexity Analysis
-
Python Code
-
Today's Goal
-
CODING INTERVIEW Q: Construct Binary Tree from Pre order and In order Traversal
-
Coding Exercise: Construct Binary Tree from Pre order and In order Traversal
-
CODING INTERVIEW Q: Construct Binary Tree from Inorder and Post order traversal
-
Coding Exercise: Construct Binary Tree from Inorder and Post order traversal
-
Day 43 Goals
-
Coding Interview Q1(Medium): Level Order traversal
-
Coding Exercise: Instance method, Level Order traversal
-
Insert method
-
Python code
-
Level Order Traversal Method and Big O analysis
-
Python code - Level order traversal
-
Coding Interview Q2(Medium): Left / Right view
-
Coding Exercise: Left / Right view
-
Method and Big O analysis
-
Python code
-
Day 52 Goals
-
Data Structures Crash Course: Graphs Introduction
-
Data Structures Crash Course: Graphs - Part 2
-
Data Structures Crash Course: Graphs - Part 3
-
Coding Interview Q1: BFS, Adjacency List,Big O analysis
-
Python Code
-
BFS, Adjacency Matrix
-
Python Code
-
Coding Interview Q2: DFS, Recursive, Big O analysis
-
Python Code
-
DFS Iterative
-
Python Code
Requirment
-
Basic knowledge of Python ( things like write a loop, function etc)
-
No experience with Data Structures or Algorithms required
Outcomes
-
Master data structures in Python - Arrays, LinkedLists, Stacks, Queues, Trees, Graphs, Hash Tables
-
Solve DSA problems for LEETCODE and technical interviews at Google, Amazon, Microsoft
-
Dynamic Programming, Backtracking, and advanced algorithm techniques
-
Time and Space Complexity analysis (Big O notation) for optimization
-
Real coding interview question patterns from FAANG companies
0 Student
1 Course
0 review