40Days Of Code Python Data Structures & Algorithms Leetcode
Published 2/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 9.40 GB | Duration: 38h 54m
Published 2/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 9.40 GB | Duration: 38h 54m
Dynamic Programming, Backtracking, Data Structures, BigO,Question Patterns,In depth Explanations. Get the job you want !
What you'll learn
Dynamic Programming, Backtracking Techniques
Common Data Structures such as Arrays, Hash Table,Linked List,Binary trees,Graphs etc.
Time and Space Complexity of Algorithms, Detailed Discussion of Logic to solve questions
Real Coding Interview Questions from Google, Meta,Amazon,Netflix ,Microsoft etc.
Boost your Problem solving skills
Requirements
Basic knowledge of Python ( things like write a loop, function etc)
No experience with Data Structures or Algorithms required
Description
About the Course:Welcome to the Algorithms and Data Structures 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 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 approachExplain time and space complexityCode 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 ArrayDay 2:Recursion,k-th symbol in Grammar,Josephus problemDay 3:Recursion, Tower of Hanoi, Power SumDay 4:Backtracking, Permutations, Permutations 2Day 5:Backtracking, Subsets, Subsets 2Day 6:Backtracking, Combinations, Combinations Sum 1Day 7:Backtracking,Combinations Sum 2,Combinations Sum 3Day 8:Backtracking,Sudoku Solver, N QueensDay 9:Dynamic Programming, Fibonacci, Climbing StairsDay 10:Dynamic Programming, Min Cost Climbing Stairs, TribonacciDay 11:Dynamic Programming, 01 Knapsack, Unbounded KnapsackDay 12:Dynamic Programming, Target Sum, Partition Equal Subset SumDay 13:Dynamic Programming, LCS, Edit DistanceDay 14:Dynamic Programming, LIS, Max Length of Pair Chain, Russian Doll EnvelopesDay 15:Dynamic Programming, Palindromic Substrings, Longest Palindromic Substring, Longest Palindromic SubsequenceDay 16:Dynamic Programming, Palindrome Partitioning, Palindrome Partitioning 2Day 17:Dynamic Programming, Word Break, Matrix Chain MultiplicationDay 18:Dynamic Programming, Kadane's algorithm - Max Subarray, Maximum Product SubarrayDay 19: Arrays, Rotate Array, Container with Most WaterDay 20: Hash Tables, Two Sum, Isomorphic StringsDay 21: Strings, Non-Repeating Character, PalindromeDay 22: Strings, Longest Unique Substring, Group AnagramsDay 23: Searching, Binary Search, Search in Rotated Sorted ArrayDay 24: Searching, Find First and Last Position, Search in 2D ArrayDay 25: Sorting, Bubble Sort, Insertion SortDay 26: Sorting, Selection Sort, Merge SortDay 27: Sorting, Quick Sort, Radix SortDay 28: Singly Linked Lists, Construct SLL, Delete DuplicatesDay 29: Singly Linked Lists, Reverse SLL, Cycle DetectionDay 30: Singly Linked Lists, Find Duplicate, Add 2 NumbersDay 31: Doubly Linked Lists, DLL Remove Insert, DLL Remove AllDay 32: Stacks, Construct Stack, Reverse Polish NotationDay 33: Queues, Construct Queue, Implement Queue with StackDay 34: Binary Trees, Construct BST, Traversal TechniquesDay 35: Binary Trees, Level Order Traversal, Left/Right ViewDay 36: Binary Trees, Invert Tree, Diameter of TreeDay 37: Binary Trees, Convert Sorted Array to BST, Validate BSTDay 38: Heaps, Max Heap, Min Priority QueueDay 39: Graphs, BFS, DFSDay 40: Graphs, Number of Connected Components, Topological SortMy 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
Overview
Section 1: Day 1: Arrays Data Structures and Algorithms
Lecture 1 What you're going to get from this course
Lecture 2 Welcome! How to make best use of this course (Please Watch)
Lecture 3 Day 1 Goals
Lecture 4 Introduction to Data Structures
Lecture 5 Introduction to Big O, Time Complexity
Lecture 6 2 Asymptotic Analysis and Big O
Lecture 7 Big O Space Complexity
Lecture 8 Big O Logarithm
Lecture 9 Arrays: Data Structures Crash Course
Lecture 10 CODING EXERCISES
Lecture 11 CODING INTERVIEW Q1 (Easy): Sorted Squared Array
Lecture 12 Method 1, Big O Analysis
Lecture 13 Python Code - Method 1
Lecture 14 Method 2
Lecture 15 Python Code - Method 2
Lecture 16 CODING INTERVIEW Q2 (Easy): Monotonic Array
Lecture 17 Method and Big O analysis
Lecture 18 Python Code - Monotonic Array
Section 2: Day 2: Recursion
Lecture 19 Day 2 Goals
Lecture 20 Recursion Basics
Lecture 21 Recursive Leap of Faith
Lecture 22 Visualising Recursion
Lecture 23 Recursion vs Iteration
Lecture 24 Ways to write Base condition
Lecture 25 Recurrence relation
Lecture 26 How to Solve Recursion Questions
Lecture 27 Recursion Approaches - 0 to N and N to 0
Lecture 28 Recursion is everywhere
Lecture 29 Complexity Analysis of Recursive Solutions
Lecture 30 CODING INTERVIEW QUESTION (Medium): k-th symbol in Grammar
Lecture 31 Approach(k-th symbol in Grammar)
Lecture 32 Pseudocode (k-th symbol in Grammar)
Lecture 33 Python Code
Lecture 34 Complexity Analysis(k-th symbol in Grammar)
Lecture 35 Python Solution (k-th symbol in Grammar)
Lecture 36 CODING INTERVIEW QUESTION (Medium): Josephus problem
Lecture 37 Approach 1
Lecture 38 Pseudocode
Lecture 39 Complexity Analysis
Lecture 40 Python Solution 1: Josephus problem Method 1
Lecture 41 Approach 2
Lecture 42 Pseudocode
Lecture 43 Complexity Analysis
Lecture 44 Python Solution 2 : Josephus problem Method 2
Lecture 45 Approach 3
Lecture 46 Complexity Analysis
Lecture 47 Python Solution 3 : Josephus problem Method 3
Section 3: Day 3: Recursion Continued
Lecture 48 Day 3 Goals
Lecture 49 CODING INTERVIEW QUESTION (Medium): Tower of Hanoi
Lecture 50 Identifying that wew can use Recursion
Lecture 51 Approach
Lecture 52 Recursion Tree
Lecture 53 Python Solution : Tower of Hanoi
Lecture 54 Complexity Analysis : Tower of Hanoi
Lecture 55 CODING INTERVIEW QUESTION(Medium): Power Sum
Lecture 56 Method and Big O Analysis
Lecture 57 Python Solution: Power Sum
Section 4: Day 4: Backtracking
Lecture 58 Day 4 Goals
Lecture 59 What is Backtracking
Lecture 60 How is it different from Recursion ?
Lecture 61 How does Backtracking work ?
Lecture 62 Pass by reference / change inplace
Lecture 63 Blueprint to solve questions using Backtracking
Lecture 64 Identify when to use Backtracking
Lecture 65 CODING INTERVIEW QUESTION (Medium): Permutations
Lecture 66 Approach
Lecture 67 Pseudocode
Lecture 68 Python Solution : Permutations
Lecture 69 Complexity Analysis
Lecture 70 CODING INTERVIEW QUESTION(Medium): Permutations 2
Lecture 71 Approach
Lecture 72 Pseudocode
Lecture 73 Python Code: Permutations 2
Lecture 74 Complexity Analysis : Permutations 2
Section 5: Day 5: Backtracking
Lecture 75 Day 5 Goals
Lecture 76 CODING INTERVIEW QUESTION(Medium): Subsets
Lecture 77 Method
Lecture 78 Subsets - Comparison with Backtracking Blueprint
Lecture 79 Subsets - Complexity Analysis
Lecture 80 Python Code - Subsets
Lecture 81 CODING INTERVIEW QUESTION(Medium): Subsets 2
Lecture 82 Approach
Lecture 83 Python Code: Subsets 2
Lecture 84 Subsets 2: Complexity Analysis
Section 6: Day 6: Backtracking
Lecture 85 Day 6 Goals
Lecture 86 CODING INTERVIEW QUESTION(Medium): Combinations
Lecture 87 Approach
Lecture 88 Combinations : Complexity Analysis
Lecture 89 Python Code : Combinations
Lecture 90 Combinations: Optimisation
Lecture 91 Python Code: Combinations with Optimisation
Lecture 92 CODING INTERVIEW QUESTION ( Medium) : Combinations Sum 1
Section 7: Day 7: Backtracking
Lecture 93 Day 7 Goals
Lecture 94 CODING INTERVIEW QUESTION (Medium): Combinations Sum 2
Lecture 95 CODING INTERVIEW QUESTION ( Medium) : Combinations Sum 3
Section 8: Day 8: Backtracking
Lecture 96 Day 8 Goals
Lecture 97 CODING INTERVIEW QUESTION(Hard) : Sudoku Solver
Lecture 98 Approach
Lecture 99 Pseudocode
Lecture 100 isValid check for Sudoku Solver
Lecture 101 Python Code : Sudoku Solver
Lecture 102 Complexity Analysis
Lecture 103 Another approach - Sudoku Solver ( Python Code)
Lecture 104 CODING INTERVIEW QUESTION(Hard): N Queen
Lecture 105 Approach
Lecture 106 Pseudocode
Lecture 107 Python Code: N Queen
Lecture 108 Complexity Analysis
Section 9: Day 9: Dynamic Programming
Lecture 109 Day 9 Goals
Lecture 110 Introduction to Dynamic Programming (DP)
Lecture 111 Dynamic Programming - Patterns
Lecture 112 Approach to solve DP(Dynamic Programming) Questions
Lecture 113 Why writing the Recursive solution helps to write the Bottom up approach
Lecture 114 Identifying Dynamic Programming Questions
Lecture 115 CODING INTERVIEW QUESTION(Easy): Fibonacci
Lecture 116 Approaches
Lecture 117 Approach 1: Recursion
Lecture 118 Complexity Analysis: Approach 1 - Recursion
Lecture 119 Python Code - Recursion
Lecture 120 Approach 2: Memoization
Lecture 121 Complexity Analysis : Approach 2 - Memoization
Lecture 122 Python Code: Approach 2 - Memoization
Lecture 123 Approach 3: Tabulation
Lecture 124 Complexity Analysis: Approach 3 - Tabulation
Lecture 125 Python Code: Approach 3 - Tabulation
Lecture 126 Approach 4: Space Optimised Tabulation + Complexity Analysis
Lecture 127 Python Code: Approach 4 -Space Optimised Tabulation + Complexity Analysis
Lecture 128 CODING INTERVIEW QUESTION(Easy): Climbing Stairs
Section 10: Day 10: Dynamic Programming Type - Fibonacci
Lecture 129 Day 10 Goals
Lecture 130 CODING INTERVIEW QUESTION(Easy): Min Cost Climbing Stairs
Lecture 131 CODING INTERVIEW QUESTION(Easy): Tribonacci
Section 11: Day 11: Dynamic Programming Type - Knapsack
Lecture 132 Day 11 Goals
Lecture 133 CODING INTERVIEW QUESTION(Medium): 0/1 Knapsack
Lecture 134 Approach 1: Recursion
Lecture 135 Recursive Approach: Pseudocode
Lecture 136 Recursive Approach: Complexity Analysis
Lecture 137 Python Code : Recursive Approach
Lecture 138 Approach 2: Memoization
Lecture 139 Memoization: Pseudocode
Lecture 140 Python Code: Memoization
Lecture 141 Memoization: Complexity Analysis
Lecture 142 Approach 3: Tabulation
Lecture 143 Python Code: Tabulation
Lecture 144 Tabulation: Complexity Analysis
Lecture 145 Approach 4: Space Optimised Tabulation Approach
Lecture 146 Python Code: Space Optimised Tabulation
Lecture 147 Space Optimised Tabulation Approach: Complexity Analysis
Lecture 148 CODING INTERVIEW QUESTION(Medium): Unbounded Knapsack
Section 12: Day 12: Dynamic Programming Type - Knapsack
Lecture 149 Day 12 Goals
Lecture 150 CODING INTERVIEW QUESTION(Medium): Target Sum
Lecture 151 CODING INTERVIEW QUESTION(Medium): Partition Equal Subset Sum
Section 13: Day 13: Dynamic Programming Type - LCS ( Longest Common Subsequence)
Lecture 152 Day 13 Goals
Lecture 153 CODING INTERVIEW QUESTION(Medium): LCS
Lecture 154 Approach 1: Recursion
Lecture 155 Pseudocode
Lecture 156 Recursion Tree and Complexity Analysis
Lecture 157 Python Code: LCS
Lecture 158 Approach 2: Memoization
Lecture 159 Python Code: Memoization - LCS
Lecture 160 Approach 3: Tabulation
Lecture 161 Tabulation: Complexity Analysis
Lecture 162 Python Code : Tabulation - LCS
Lecture 163 Approach 4: Space Optimised Tabulation - LCS
Lecture 164 Python Code : Space Optimised Tabulation - LCS
Lecture 165 CODING INTERVIEW QUESTION(Medium): Edit Distance
Lecture 166 Identifying this as an LCS Type Question
Lecture 167 Approach 1: Recursion
Lecture 168 Pseudocode
Lecture 169 Recursion: Complexity Analysis
Lecture 170 Python Code: Recursive Approach(Edit Distance)
Lecture 171 Approach 2: Memoization
Lecture 172 Python Code: Memoization(Edit Distance)
Lecture 173 Approach 3: Tabulation
Lecture 174 Tabulation: Complexity Analysis
Lecture 175 Python Code: Tabulation (Edit Distance)
Lecture 176 Approach 4: Space Optimised Tabulation
Lecture 177 Python Code: Space Optimised Tabulation ( Edit Distance)
Section 14: Day 14: Dynamic Programming Type - LIS ( Longest Increasing Subsequence)
Lecture 178 Day 14 Goals
Lecture 179 CODING INTERVIEW QUESTION(Medium): Longest Increasing Subsequence (LIS)
Lecture 180 Approach 1: Recursion - LIS
Lecture 181 Recursion Tree
Lecture 182 Complexity Analysis - Recursion - LIS
Lecture 183 Python Code - Recursion - LIS
Lecture 184 Approach 2: Memoization
Lecture 185 Complexity Analysis - Memoization
Lecture 186 Python Code - Memoization - LIS
Lecture 187 Approach 3: Tabulation - using a 2D dp array
Lecture 188 Dry run
Lecture 189 Complexity Analysis - Tabulation - using a 2D dp array
Lecture 190 Python Code - Tabulation using a 2D dp array - LIS
Lecture 191 Approach 4: Tabulation - using a 1D dp array
Lecture 192 Dry run
Lecture 193 Complexity Analysis- Tabulation - using a 1D dp array
Lecture 194 Python Code-Tabulation - using a 1D dp array
Lecture 195 Approach 5: using Binary Search - LIS
Lecture 196 Part 1 - Approach 5: using Binary Search - LIS
Lecture 197 Part 2 - Approach 5: using Binary Search - LIS
Lecture 198 Binary Search for this question ( refer Binary Search section for more details)
Lecture 199 Complexity Analysis - Approach 5: using Binary Search - LIS
Lecture 200 Python Code - Approach 5: using Binary Search - LIS
Lecture 201 CODING INTERVIEW QUESTION(Medium): Max Length of Pair Chain
Lecture 202 CODING INTERVIEW QUESTION(Hard): Russian Doll Envelopes
Section 15: Day 15: Dynamic Programming Type - Gap Strategy / Length wise Iteration
Lecture 203 Day 15 Goals
Lecture 204 Introduction to Gap Strategy or Length wise Iteration
Lecture 205 CODING INTERVIEW QUESTION(Medium): Palindromic Substrings
Lecture 206 Intuition for Approach
Lecture 207 Indetifying this as a DP question
Lecture 208 Approach: Recursion with memoization
Lecture 209 pseudocode
Lecture 210 Filling the Memoization table
Lecture 211 iterate length wise
Lecture 212 Recursion with memoization: Complexity analysis
Lecture 213 Python Code: Recursion with memoization
Lecture 214 Tabulation approach
Lecture 215 Tabulation approach: Complexity Analysis
Lecture 216 Python Code: Tabulation
Lecture 217 CODING INTERVIEW QUESTION(Medium): Longest Palindromic Substring
Lecture 218 CODING INTERVIEW QUESTION(Medium): Longest Palindromic Subsequence
Section 16: Day 16: Dynamic Programming Type - Partition Method
Lecture 219 Day 16 Goals
Lecture 220 Introduction to the Partition method
Lecture 221 CODING INTERVIEW QUESTION(Medium): Palindrome Partitioning
Lecture 222 Approach
Lecture 223 Pseudocode
Lecture 224 Side note: Computing n C r
Lecture 225 Complexity Analysis
Lecture 226 Python Code: Palindrome Partitioning
Lecture 227 CODING INTERVIEW QUESTION(Hard):Palindrome Partitioning 2 ( Minimum Cuts) - Hard
Lecture 228 Approach 1: Recursion
Lecture 229 Python Code: Recursion - Palindrome Partitioning 2
Lecture 230 Approach 2: Memoization
Lecture 231 Python Code: Memoization - Palindrome Partitioning 2
Lecture 232 Tabulation - Approach A : Palindrome Partitioning 2
Lecture 233 Dry Run
Lecture 234 Pseudocode
Lecture 235 Python Code : Tabulation - Approach A : Palindrome Partitioning 2
Lecture 236 Complexity Analysis
Lecture 237 Tabulation - Approach B : Palindrome Partitioning 2
Lecture 238 Dry run
Lecture 239 Pseudocode
Lecture 240 Python Code: Tabulation - Approach A : Palindrome Partitioning 2
Lecture 241 Complexity Analysis
Section 17: Day 17: Dynamic Programming Type - Partition Method
Lecture 242 Day 17 Goals
Lecture 243 CODING INTERVIEW QUESTION(Medium): Word Break
Lecture 244 CODING INTERVIEW QUESTION(Hard): Matrix Chain Multiplication
Section 18: Day 18: Dynamic Programming Type - Kadane's Algorithm
Lecture 245 Day 18 Goals
Lecture 246 CODING INTERVIEW QUESTION (Medium): Max Subarray
Lecture 247 CODING INTERVIEW QUESTION (Medium): Maximum Product Subarray
Section 19: Day 19: Arrays Data Structures and Algorithms
Lecture 248 Day 19 Goals
Lecture 249 Coding Interview Q1(Medium): Rotate Array
Lecture 250 Method and Big O analysis
Lecture 251 PYTHON Code Solution
Lecture 252 Python Code Method 2
Lecture 253 Coding Interview Q2(Medium): Container with most water
Lecture 254 Method 1 and Big O analysis
Lecture 255 PYTHON Code Method 1
Lecture 256 Method 2 and Big O analysis
Lecture 257 PYTHON Code Method 2
Section 20: Day 20: Dictionaries / Hash Tables Data Structures and Algorithms
Lecture 258 Day 20 Goals
Lecture 259 Hash Table: Data Structures Crash Course
Lecture 260 Coding Interview Q1(Easy): Two Sum
Lecture 261 Method 1, Big O analysis
Lecture 262 PYTHON Code
Lecture 263 Method 2, Big O analysis
Lecture 264 PYTHON Code
Lecture 265 Coding Interview Q2(Easy): Isomorphic Strings
Lecture 266 Method and Big O analysis
Lecture 267 PYTHON Code
Section 21: Day 21 : Strings Data Structures and Algorithms
Lecture 268 Day 21 Goals
Lecture 269 Data Structures Crash Course: Strings
Lecture 270 Coding Interview Q1(Easy): First Non Repeating Character
Lecture 271 Method 1 and Big O analysis
Lecture 272 PYTHON code
Lecture 273 Method 2 and Big O analysis
Lecture 274 PYTHON code
Lecture 275 Coding Interview Q2(Easy): Is Palindrome ?
Lecture 276 Method 1 and Big O analysis
Lecture 277 PYTHON code
Lecture 278 Method 2 and Big O analysis
Lecture 279 PYTHON code
Lecture 280 Method 3 and Big O analysis
Lecture 281 PYTHON code
Section 22: Day 22: Strings Data Structures and Algorithms
Lecture 282 Day 22 Goals
Lecture 283 Coding Interview Q1(Medium): Longest Sub string with Unique characters
Lecture 284 Method and Big O analysis
Lecture 285 PYTHON code
Lecture 286 Coding Interview Q2(Medium): Group Anagrams
Lecture 287 method and Big O analysis
Lecture 288 PYTHON code
Section 23: Day 23: Searching Algorithms
Lecture 289 Day 23 Goals
Lecture 290 Coding Interview Q1 (Easy): Binary Search Algorithm
Lecture 291 Method and Big O analysis
Lecture 292 PYTHON Code Iterative
Lecture 293 PYTHON Code Recursive
Lecture 294 Coding Interview Q2(Medium): Search in rotated sorted array
Lecture 295 Method and Big O analysis
Lecture 296 PYTHON Code
Section 24: Day 24: Searching Algorithms
Lecture 297 Day 24 Goals
Lecture 298 Coding Interview Q1(Medium): Search for range
Lecture 299 Method and Big O analysis
Lecture 300 PYTHON Code - Recursive
Lecture 301 PYTHON Code - Iterative
Lecture 302 Coding Interview Q2(Medium): Search in Matrix
Lecture 303 method and Big O analysis
Lecture 304 PYTHON code
Section 25: Day 25: Sorting Algorithms
Lecture 305 Day 25 Goals
Lecture 306 Coding Interview Q1: Bubble Sort Algorithm
Lecture 307 Method and Big O analysis
Lecture 308 Python Code
Lecture 309 Coding Interview Q2: Insertion Sort Algorithm, Big O analysis
Lecture 310 Python code
Lecture 311 Insertion sort is a stable sorting Algorithm
Section 26: Day 26: Sorting Algorithms
Lecture 312 Day 26 Goals
Lecture 313 Coding Interview Q1: Selection Sort Algorithm, Big O analysis
Lecture 314 Python Code
Lecture 315 Coding Interview Q2: Merge Sort Algorithm
Lecture 316 Method and Big O analysis
Lecture 317 Python Code
Section 27: Day 27: Sorting Algorithms
Lecture 318 Day 27 Goals
Lecture 319 Coding Interview Q1: Quick Sort Algorithm
Lecture 320 Optimise Time Complexity
Lecture 321 Optimise Space Complexity
Lecture 322 Python Code
Lecture 323 Coding Interview Q2: Radix Sort Algorithm, Big O analysis
Lecture 324 Python Code
Section 28: Day 28 Singly Linked List Data Structures and Algorithms
Lecture 325 Day 28 Goals
Lecture 326 Data Structures Crash Course: Linked Lists
Lecture 327 Coding Interview Q1(Medium): Design a Singly Linked List
Lecture 328 Method and Big O analysis
Lecture 329 Python Code
Lecture 330 Coding Interview Q2: Remove Duplicates
Lecture 331 Method and Big O analysis
Lecture 332 Python Code
Section 29: Day 29 Singly Linked List Data Structures and Algorithms
Lecture 333 Day 29 Goals
Lecture 334 Coding Interview Q1(Easy): Reverse
Lecture 335 Method and Big O analysis
Lecture 336 Python Code
Lecture 337 Coding Interview Q2(Medium) : Cycle Detection
Lecture 338 Method and Big O analysis
Lecture 339 Python Code
Lecture 340 proof
Section 30: Day 30 : Singly Linked List Data Structures and Algorithms
Lecture 341 Day 30 Goals
Lecture 342 Coding Interview Q1(Medium): Find duplicate number
Lecture 343 method and Big O analysis
Lecture 344 Python code
Lecture 345 Coding Interview Q2(Medium): Add 2 numbers
Lecture 346 method and Big O analysis
Lecture 347 Python code
Section 31: Day 31 Doubly Linked List Data Structures and Algorithms
Lecture 348 Day 31 Goals
Lecture 349 Coding Interview Q1: Remove Node, Insert Node
Lecture 350 Method remove
Lecture 351 Python code: Remove
Lecture 352 Insert Intro
Lecture 353 Method Insert
Lecture 354 Python code: Insert
Lecture 355 Coding Interview Q2: Remove Value, Insert at Position in Doubly Linked List
Lecture 356 Remove Val Method
Lecture 357 Python Code
Lecture 358 Insert at Position
Lecture 359 method
Lecture 360 Python Code
Section 32: Day 32: Stacks Data Structures and Algorithms
Lecture 361 Day 32 Goals
Lecture 362 Data Structures Crash Course: Stacks and Queues
Lecture 363 Coding Interview Q1: Design a Stack
Lecture 364 Python Code
Lecture 365 Coding Interview Q2(Medium): Reverse Polish Notation
Lecture 366 method and Big O analysis
Lecture 367 Python Code
Section 33: Day 33: Queue Data Structures and Algorithms
Lecture 368 Day 33 Goals
Lecture 369 Coding Interview Q1: Design a Queue
Lecture 370 Python Code
Lecture 371 Coding Interview Q2(Easy) : Queue with Stack
Lecture 372 method and Big O analysis
Lecture 373 Python Code
Section 34: Day 34: Binary Tree / Binary Search Tree Data Structures and Algorithms
Lecture 374 Day 34 Goals
Lecture 375 Data Structures Crash Course: Trees Introduction
Lecture 376 Theory: Binary Trees 1
Lecture 377 Proof : height of Balanced Binary tree is floor(log N)
Lecture 378 Theory: Binary Tree Terminaologies
Lecture 379 What is a BST - Binary Search Tree
Lecture 380 Coding Interview Q1: Construct Binary Search Tree,Big O analysis
Lecture 381 Python Code
Lecture 382 Coding Interview Q2 : Traverse - BFS and DFS,Big O analysis
Lecture 383 Python Code
Section 35: Day 35: Binary Tree / Binary Search Tree Data Structures and Algorithms
Lecture 384 Day 35 Goals
Lecture 385 Coding Interview Q1(Medium): Level Order traversal
Lecture 386 Insert method
Lecture 387 Python code
Lecture 388 Level Order Traversal Method and Big O analysis
Lecture 389 Python code - Level order traversal
Lecture 390 Coding Interview Q2(Medium): Left / Right view
Lecture 391 Method and Big O analysis
Lecture 392 Python code
Section 36: Day 36: Binary Tree Data Structures and Algorithms
Lecture 393 Day 36 Goals
Lecture 394 Coding Interview Q1 (Easy): Invert Binary Tree
Lecture 395 Iterative method and Big O analysis
Lecture 396 Python Code: Iterative
Lecture 397 Recursive method and Big O analysis
Lecture 398 Python Code: Recursive
Lecture 399 Coding Interview Q2 (Easy): Diameter of Binary Tree
Lecture 400 Method and Big O analysis
Lecture 401 Python Code
Section 37: Day 37: Binary Search Trees Data Structures and Algorithms
Lecture 402 Day 37 Goals
Lecture 403 Coding Interview Q1(Easy): sorted array to BST
Lecture 404 method and Big O analysis
Lecture 405 Python code
Lecture 406 Coding Interview Q2(Medium) : Valid BST
Lecture 407 Method and Big O analysis
Lecture 408 Python Code
Section 38: Day 38: Heaps and Priority Queue Data Structures and Algorithms
Lecture 409 Day 38 Goals
Lecture 410 Binary Heap: Data Structure Crash Course
Lecture 411 Coding Interview Q1: Construct Max Binary Heap, Big O analysis
Lecture 412 Proof of Build Binary Heap Time Complexity
Lecture 413 Python Code
Lecture 414 Introduction to Priority Queue
Lecture 415 Coding Interview Q2: Construct Priority Queue,Big O analysis
Lecture 416 Python Code
Section 39: Day 39: Graphs Data Structures and Algorithms
Lecture 417 Day 39 Goals
Lecture 418 Coding Interview Q1: BFS, Adjacency List,Big O analysis
Lecture 419 Python Code
Lecture 420 BFS, Adjacency Matrix
Lecture 421 Python Code
Lecture 422 Coding Interview Q2: DFS, Recursive, Big O analysis
Lecture 423 Python Code
Lecture 424 DFS Iterative
Lecture 425 Python Code
Section 40: Day 40: Graphs Data Structures and Algorithms
Lecture 426 Day 40 Goals
Lecture 427 Coding Interview Q1: Number of Components, Big O analysis
Lecture 428 Python Code
Lecture 429 Coding Interview Q2(Medium): Course Scheduler
Lecture 430 Brute Force Method and Big O analysis
Lecture 431 Python Code - Brute Force Method
Lecture 432 Topological Sort based method and Big O analysis
Lecture 433 Python Code
Folks looking to get into top Tech companies in Software Engineering roles,Folks looking to ace the DSA part in Data Science Interview,Self taught programmers looking for their first job,Experienced developers wanting to get into MAANG companies ( top tech firms)