Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Data Structures and Algorithms in Python: DSA Course
Role Play
Rating: 4.3 out of 5(1,500 ratings)
58,203 students

Data Structures and Algorithms in Python: DSA Course

Master Python DSA for LEETCODE & Technical Interviews | 50-Day Structured Learning Path with 117 Coding Exercises
Created byJackson Kailath
Last updated 5/2026
English
English [Auto],French [Auto],

What you'll learn

  • 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

Coding Exercises

This course includes our updated coding exercises so you can practice your skills as you learn.

See a demo
Image of coding exercise example

Course content

63 sections656 lectures56h 57m total length
  • What you're going to get from this course7:48

    Master data structures and algorithms through daily challenges and animated explanations, practicing real interview questions and improving problem solving and communication for top tech roles.

  • Welcome! How to make best use of this course (Please Watch)4:02

    Stay consistent by treating the course as daily challenges, complete every day's target, and code the solutions yourself to build momentum and prepare for the coding interview.

  • Day 1 Goals0:35
  • Introduction to Data Structures4:34

    Explore what data structures are, with arrays illustrating data values, relationships, and operations, and learn why mastering them helps solve coding interview problems efficiently by choosing suitable structures.

  • Introduction to Big O, Time Complexity14:00

    Understand the need for complexity analysis and how time and space complexity drive decisions. Use asymptotic analysis and Big-O notation to compare algorithms for scalability.

  • Asymptotic Analysis and Big O16:36

    Master asymptotic analysis and big o notation to see how time complexity grows with input size, neglect constants, and compare algorithms using O(1), O(log n), O(n), O(n log n), O(n^2).

  • Big O Space Complexity3:49

    Explore space complexity using big-O, focusing on auxiliary memory rather than input size, and learn time-space trade-offs, constants, and techniques to simplify big-O expressions, including logarithms.

  • Big O Logarithm5:12

    Master logarithms in coding interviews, with log n base two and intuitive examples showing why log n yields efficient time and space complexity in halving-input algorithms like binary search.

  • Arrays: Data Structures Crash Course13:20

    Analyze the time and space complexity of common array operations, including accessing, setting, traversing, copying, inserting, and removing, across static and dynamic arrays with amortized constant time.

  • Quiz: Arrays
  • CODING EXERCISES2:11

    Practice coding with the Udemy exercises environment, run tests, and debug to ace the coding interview, starting with day one, the sorted squared array question and its discussion videos.

  • How to log output to debug code in Udemy Editor0:17
  • CODING INTERVIEW Q1 (Easy): Sorted Squared Array4:45

    Explore how to compute the squares of a sorted array and return them in ascending order, including negatives, zeros, and duplicates, with test case discussion.

  • Coding Exercise: Sorted Squared Array
  • Method 1, Big O Analysis3:05

    Master the brute force approach to square each element of a sorted array, then sort the results, achieving O(n log n) time and O(n) space.

  • Python Code - Method 11:42

    Apply a brute force Python solution to build a sorted squared array by squaring each element, then sorting the result, and returning it after verifying test cases.

  • Quiz - Method 1 (Sorted squarred array)
  • Method 27:29

    Use the sorted input and a two-pointer approach to square extremes and fill a new array from the end, achieving O(n) time and O(n) space.

  • Python Code - Method 24:11

    Use a two-pointer approach in Python to fill a sorted squares array by comparing the squares of end elements and placing the larger value into the result from the back.

  • Quiz - Method 2 (Sorted squarred array)
  • CODING INTERVIEW Q2 (Easy): Monotonic Array5:14

    Determine whether an array is monotonic by checking non-decreasing or non-increasing sequences, with examples like 1-2-3, 3-2-1, and 1-2-2, and discuss edge cases and test cases.

  • Coding Exercise: Monotonic Array
  • Method and Big O analysis7:17

    Determine if an array is monotonic by evaluating non increasing and non decreasing patterns, analyzing three cases, and reporting time complexity O(n) and space complexity O(1).

  • Python Code - Monotonic Array5:20

    Develop a monotonic array checker by comparing first and last elements, then scanning adjacent pairs to confirm increasing or decreasing order, while treating an empty array as monotonic.

  • Quiz - Monotonic Array
  • Role Play( Beta) : Sorted Squarred Array
  • Celebrating Milestones0:43

    Celebrate day one with a solid foundation in data structures and algorithms, tackling arrays and Big-O notation and reinforcing consistency for progress toward top tech interviews.

Requirements

  • Basic knowledge of Python ( things like write a loop, function etc)
  • No experience with Data Structures or Algorithms required

Description

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:

  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, 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

Who this course is for:

  • 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)