We may earn an affiliate commission when you visit our partners.
Course image
Udemy logo

50 Days of DSA PYTHON Dynamic Programming, Question Patterns

Jackson Kailath

Student Testimonials:

Read more

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" -" - 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:

  1. Discuss the optimal approach

  2. Explain time and space complexity

  3. 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 Thus, it's a totally risk-free opportunity. Register today, facing ZERO risk and standing to gain

    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

Enroll now

What's inside

Learning objectives

  • 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

Syllabus

Day 1: Arrays Data Structures and Algorithms
What you're going to get from this course
Welcome! How to make best use of this course (Please Watch)
Read more
Best Study Technique to prepare for Coding Interviews
Day 1 Goals
Introduction to Data Structures
Introduction to Big O, Time Complexity
Asymptotic Analysis and Big O
Big O Space Complexity
Big O Logarithm
Arrays: Data Structures Crash Course
Quiz: Arrays
CODING EXERCISES
How to log output to debug code in Udemy Editor
CODING INTERVIEW Q1 (Easy): Sorted Squared Array
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
Celebrating Milestones
Day 2: Recursion
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
Python Code: Permutations 2
Python Solution 2 : Josephus problem Method 2
Quiz - Josephus problem Method 2
Approach 3
Python Solution 3 : Josephus problem Method 3
Quiz - Josephus problem Method 3
Day 3: Recursion Continued
Day 3 Goals
CODING INTERVIEW QUESTION (Medium): Tower of Hanoi
Coding Exercise(Tower of Hanoi)
Identifying that wew can use Recursion
Approach
Complexity Analysis : Permutations 2
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
Day 4: Backtracking
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)
Python Solution : Permutations
CODING INTERVIEW QUESTION(Medium): Permutations 2
Permutations 2

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Suits those who want to conquer any coding interview with a focus on core techniques and how they are used in coding challenges common in the field
Appropriate for those who want to learn common data structures, practice with hands-on exercises, and gain knowledge of how to utilize them in coding interviews
Suitable for those who want to strengthen their problem-solving skills via a series of coding exercises and challenges, especially when preparing for coding interviews
Course leans heavily on coding challenges and practice to develop skills, which may favor those inclined towards a more hands-on approach to learning

Save this course

Save 50 Days of DSA PYTHON Dynamic Programming, Question Patterns to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in 50 Days of DSA PYTHON Dynamic Programming, Question Patterns with these activities:
Review of Time Complexity Analysis
Strengthen your foundation in time complexity analysis to enhance your problem-solving efficiency.
Show steps
  • Review the concepts of time complexity
  • Practice analyzing the time complexity of simple algorithms
  • Work through examples and tutorials on time complexity analysis
Introduction to Algorithms by Cormen, Leiserson, Rivest, and Stein
Enhance your theoretical foundation in algorithms by reading and understanding a classic textbook in the field.
Show steps
  • Read selected chapters or sections of the book
  • Work through practice problems and exercises
Tutorials on Dynamic Programming by GeeksforGeeks
Expand your understanding of dynamic programming techniques by following guided tutorials.
Browse courses on Dynamic programming
Show steps
  • Visit the GeeksforGeeks website
  • Follow the tutorials on dynamic programming
  • Work through the examples and practice exercises provided
Five other activities
Expand to see all activities and additional details
Show all eight activities
Data Structures and Algorithms Workshop
Gain hands-on experience and practical knowledge by attending a workshop focused on data structures and algorithms.
Browse courses on Data Structures
Show steps
  • Register for the workshop
  • Attend the workshop and actively participate in exercises and discussions
LeetCode Weekly Contest
Test your problem-solving abilities and compete with others by participating in weekly coding contests.
Browse courses on Data Structures
Show steps
  • Register for the LeetCode Weekly Contest
  • Solve as many problems as possible within the time limit
  • Review your solutions and learn from others
Dynamic Programming Dynamic Programming Exercises
Reinforce your understanding of dynamic programming techniques by solving a variety of practice exercises.
Browse courses on Dynamic programming
Show steps
  • Review the basics of dynamic programming: recursion, memoization, tabulation
  • Solve daily coding problems related to dynamic programming on leetcode.com
  • Work through examples and tutorials on dynamic programming
Backtracking Backtracking Challenges
Develop your problem-solving skills by practicing backtracking techniques through a series of challenges.
Browse courses on Backtracking
Show steps
  • Review the principles of backtracking: recursion, trial-and-error, and state space exploration
  • Solve daily coding problems related to backtracking on leetcode.com
  • Work through examples and tutorials on backtracking
Data Structures and Algorithms Project
Solidify your understanding of data structures and algorithms by designing and implementing a project that showcases your skills.
Show steps
  • Identify a problem or need that can be addressed with a data structure or algorithm
  • Design and implement a solution using appropriate data structures and algorithms
  • Test and evaluate your solution

Career center

Learners who complete 50 Days of DSA PYTHON Dynamic Programming, Question Patterns will develop knowledge and skills that may be useful to these careers:

Reading list

We haven't picked any books for this reading list yet.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to 50 Days of DSA PYTHON Dynamic Programming, Question Patterns.
The Complete Data Structures and Algorithms Course in...
Most relevant
Java Data Structures and Algorithms Masterclass
Most relevant
Algorithmic Design and Techniques
Most relevant
Data Structures & Algorithms IV: Pattern Matching,...
Most relevant
50 popular coding interview problems
Most relevant
Data Structures & Algorithms II: Binary Trees, Heaps,...
Most relevant
Data Structures & Algorithms Using C++
Most relevant
Data Structures and Algorithms In Java ( DSA )
Most relevant
Trees and Graphs: Basics
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser