Data Structures and Algorithms in Python – Full Course for Beginners

Ecommerce Empire Academy

A beginner-friendly introduction to common data structures (linked lists, stacks, queues, graphs) and algorithms (search, sorting, recursion, dynamic programming) in Python. This course will help you prepare for coding interviews and assessments.

🔗 Course website:

✏️ Created by Aakash N S, founder and CEO of Jovian.

⭐️ Course Lessons with Code ⭐️
🟢 Lesson 1 – Binary Search, Linked Lists and Complexity
💻 Linear and Binary Search:
💻 Problem Solving Template:
💻 Linked Lists in Python:
🟢 Assignment 1 – Binary Search Practice
💻 Starter Notebook:
🟢 Lesson 2 – Binary Search Trees, Traversals and Recursion
💻 Binary Search Trees in Python:
💻 Problem Solving Template:
💻 Linked Lists in Python:
🟢 Assignment 2 – Hash Tables and Python Dictionaries
💻 Starter Notebook:
🟢 Lesson 3 – Sorting Algorithms and Divide & Conquer
💻 Sorting and Divide & Conquer:
💻 Problem Solving Template:
🟢 Assignment 3 – Divide and Conquer Practice
💻 Starter Notebook:
🟢 Lesson 4 – Recursion and Dynamic Programming
💻 Problem-solving template:
💻 Dynamic Programming problems:
🟢 Lesson 5 – Graph Algorithms (BFS, DFS & Shortest Paths)
💻 Graphs and Graph Algorithms (Starter Notebook):
🟢 Project – Step-by-Step Solution to a Programming Problem
💻 Starter Notebook:
🟢 Lesson 6 – Python Interview Questions, Tips & Advice
💻 Problem solving template:
💻 Coding problem 1:
💻 Coding problem 2:

⭐️ Course Contents ⭐️
⌨️ (00:00:00) Introduction
⌨️ (00:01:43) Binary Search Linked Lists and Complexity
⌨️ (00:03:43) Introduction
⌨️ (00:08:35) Problem
⌨️ (00:12:17) The Method
⌨️ (00:13:55) Solution
⌨️ (00:50:52) Complexity and Big O notation
⌨️ (01:24:57) Binary Search vs Linear Search
⌨️ (01:31:40) Generic Binary Search
⌨️ (01:40:08) Summary and Conclusion
⌨️ (01:44:30) Assignment Walkthrough
⌨️ (01:45:05) Introduction
⌨️ (01:50:01) Problem- Rotated Lists
⌨️ (01:53:02) The Method
⌨️ (01:54:03) Solution
⌨️ (02:30:47) Summary and Conclusion
⌨️ (02:33:29) Binary Search Trees Python Tutorial
⌨️ (02:34:41) Introduction
⌨️ (02:37:36) Problem
⌨️ (02:38:40) The Method
⌨️ (03:13:58) Binary tree
⌨️ (03:27:16) Traversing Binary Tree
⌨️ (03:36:10) Binary Search Tree
⌨️ (04:22:37) Self-Balancing Binary Trees and AVL Trees
⌨️ (04:26:27) Summary and Conclusion
⌨️ (04:30:33) Hash Tables and Python Dictionaries
⌨️ (04:31:09) Introduction
⌨️ (04:34:00) Problem
⌨️ (04:40:28) Data List
⌨️ (04:42:52) Hash Function
⌨️ (04:54:52) Basic Hash Table Implementation
⌨️ (05:03:07) Handling Collisions with Linear Probing
⌨️ (05:09:24) Summary and Conclusion
⌨️ (05:16:47) Sorting Algorithms and Divide & Conquer
⌨️ (05:17:48) Introduction
⌨️ (05:20:19) Problem
⌨️ (05:21:27) The Method
⌨️ (06:40:49) Custom Comparison Functions
⌨️ (06:48:53) Summary and Conclusion
⌨️ (06:54:57) Recursion Memoization & Dynamic Programming
⌨️ (06:56:37) Introduction
⌨️ (07:00:04) Problem
⌨️ (07:04:28) The Method
⌨️ (07:06:21) Solution
⌨️ (08:06:13) Knapsack Problems
⌨️ (08:08:48) The Method
⌨️ (08:09:24) Solution
⌨️ (08:43:26) Summary and Conclusion
⌨️ (08:44:05) Graph Algorithms BFS, DFS & Shortest Paths
⌨️ (08:45:02) Introduction
⌨️ (08:51:00) Graph Data Structure
⌨️ (09:15:57) Graph Algorithms – Breadth-First Search
⌨️ (09:37:28) Depth-First Search
⌨️ (10:08:26) Shortest Paths
⌨️ (10:40:39) Summary and Conclusion
⌨️ (10:42:21) Python Interview Questions Tips & Advice
⌨️ (10:43:09) Introduction
⌨️ (10:44:08) The Method
⌨️ (10:47:10) Solution
⌨️ (12:30:51) Summary and Conclusion

48 thoughts on “Data Structures and Algorithms in Python – Full Course for Beginners”

  1. This is great. I did the MIT Online Introduction to Computation and Programming using Python course and am currently working to build my freelance business. This will be a major boost. Thank you.

  2. These guys are really great I completed their data analysis and machine learning course.
    I am looking forward to complete their Deep learning course too
    Thank you very much Jovian and freecodecamp

  3. Oh wow this is just what I needed. Every time im studying something new you upload it within a day I swear this channel is a miracle and a gift from god. Thank you!

  4. Finally I found this with python thanks so much for your efforts this is literally a treasure ♥️♥️

    1. Hello, can you please clarify that a beginner should watch python programming first or this one or simultaneously?

    2. Christopher Maile

      Thanks for the awesome Tutorial. As a beginner in Python, I have been familiarizing myself with the syntax, so I could understand

  5. Exactly what I needed and precisely when I needed it. My excitement is immeasurable and my day is saved. Thank you!

  6. Oh my God.
    That’s exactly what I needed! I just started watching your Data Structures Course, but I wanted it to be Python-related. So here we go! 12 hours of free high-quality content.
    Thank you.

    1. @ (* ^ ω ^) Hey !!! Is it worth cracking the tests of big product based companies and practise on leetcode ?

  7. KANNAL IX-A MSMHSS

    ⭐️ Course Contents ⭐️
    ⌨️ (00:00:00) Introduction
    ⌨️ (00:01:43) Binary Search Linked Lists and Complexity
    ⌨️ (00:03:43) Introduction
    ⌨️ (00:08:35) Problem
    ⌨️ (00:12:17) The Method
    ⌨️ (00:13:55) Solution
    ⌨️ (00:50:52) Complexity and Big O notation
    ⌨️ (01:24:57) Binary Search vs Linear Search
    ⌨️ (01:31:40) Generic Binary Search
    ⌨️ (01:40:08) Summary and Conclusion
    ⌨️ (01:44:30) Assignment Walkthrough
    ⌨️ (01:45:05) Introduction
    ⌨️ (01:50:01) Problem- Rotated Lists
    ⌨️ (01:53:02) The Method
    ⌨️ (01:54:03) Solution
    ⌨️ (02:30:47) Summary and Conclusion
    ⌨️ (02:33:29) Binary Search Trees Python Tutorial
    ⌨️ (02:34:41) Introduction
    ⌨️ (02:37:36) Problem
    ⌨️ (02:38:40) The Method
    ⌨️ (03:13:58) Binary tree
    ⌨️ (03:27:16) Traversing Binary Tree
    ⌨️ (03:36:10) Binary Search Tree
    ⌨️ (04:22:37) Self-Balancing Binary Trees and AVL Trees
    ⌨️ (04:26:27) Summary and Conclusion
    ⌨️ (04:30:33) Hash Tables and Python Dictionaries
    ⌨️ (04:31:09) Introduction
    ⌨️ (04:34:00) Problem
    ⌨️ (04:40:28) Data List
    ⌨️ (04:42:52) Hash Function
    ⌨️ (04:54:52) Basic Hash Table Implementation
    ⌨️ (05:03:07) Handling Collisions with Linear Probing
    ⌨️ (05:09:24) Summary and Conclusion
    ⌨️ (05:16:47) Sorting Algorithms and Divide & Conquer
    ⌨️ (05:17:48) Introduction
    ⌨️ (05:20:19) Problem
    ⌨️ (05:21:27) The Method
    ⌨️ (06:40:49) Custom Comparison Functions
    ⌨️ (06:48:53) Summary and Conclusion
    ⌨️ (06:54:57) Recursion Memoization & Dynamic Programming
    ⌨️ (06:56:37) Introduction
    ⌨️ (07:00:04) Problem
    ⌨️ (07:04:28) The Method
    ⌨️ (07:06:21) Solution
    ⌨️ (08:06:13) Knapsack Problems
    ⌨️ (08:08:48) The Method
    ⌨️ (08:09:24) Solution
    ⌨️ (08:43:26) Summary and Conclusion
    ⌨️ (08:44:05) Graph Algorithms BFS, DFS & Shortest Paths
    ⌨️ (08:45:02) Introduction
    ⌨️ (08:51:00) Graph Data Structure
    ⌨️ (09:15:57) Graph Algorithms – Breadth-First Search
    ⌨️ (09:37:28) Depth-First Search
    ⌨️ (10:08:26) Shortest Paths
    ⌨️ (10:40:39) Summary and Conclusion
    ⌨️ (10:42:21) Python Interview Questions Tips & Advice
    ⌨️ (10:43:09) Introduction
    ⌨️ (10:44:08) The Method
    ⌨️ (10:47:10) Solution
    ⌨️ (12:30:51) Summary and Conclusion

  8. Brilliant course. Hits the nail on the head. Aakash you are such a good teacher. Hats off to you.

  9. A good substitute for the hashing function is just the “hash()” function in python since it uses a collision free algorithm called siphash.

  10. Excellent Course! Subject matter and contents are clearly articulated and easy to follow. I’ve learned a lot. Thank you!

  11. 30 mins and I am already in love with this course . Thank you akash for your efforts to help us. The way you explained to approach a problem was absolutely great

  12. Hassan Yamchi

    It was a great course, Thank you, To dequeue in python can’t we just use queue.pop(0) instead of indexing in bfs???

  13. I am new to the python learning world and looking for some good dsa tutorials with problem-solving approaches and guess what, I found his tutorial. this is just super amazing for any beginner. Now I think I can clear my coding interviews with confidence. Thank you so much for this tutorial, wish i could found more of your tutorials on python on youtube. can you give me links on oops in python as well.

    1. This is advanced maybe intermediate. Personally, I wouldn’t start python with this but more if statements and basic language but if your picking up and doing it have fun course.

  14. i was gonna start leetcode and other comp programming stuff , this course is going to be really helpful !

Comments are closed.