Software Engineering


Data Structures and Algorithms Python: The Complete Bootcamp

DSA Basics To Advanced: Learn, Analyze, Implement Data Structures and Algorithms using Python With Interview Questions

4.21 (127 reviews)


20 hours


Jun 2021

Last Update
Regular Price

Unlimited access to 30 000 Premium SkillShare courses

What you will learn

Understand the fundamentals of the Data Structures and Algorithms

Understand each and every concept from scratch with proper knowledge of their complexities and implementations in Python

Understand concept behind Arrays, Linked Lists, Stacks & Queues, Hash tables, Trees and Graphs

Understand popular algorithms, and how to use them (Searching, Sorting and Traversal)

Improve your problem solving skills and become a confident developer for your next coding interview

Code an implementation of each data structure, so you understand how they work behind the scene


[2021 Updated]

Welcome to Data Structures and Algorithms - Coding Interview Bootcamp, One single course to start your DSA journey as a beginner step-by-step. This course touches on each and every important topic through concept, visualization, and implementation. The entire course is designed for beginners with one goal in mind, to understand each and every concept from scratch with proper knowledge of their complexities and implementations in Python.

Throughout the course, we will explore the most important Data Structures and Algorithms topics step-by-step:

1. Essential Concepts
- Big O Notation
- Memory
- Logarithms
- Recursion

2. Data structures:
- Arrays
- Linked Lists (Singly Linked List, Doubly Linked List, Circular Linked List)
- Stacks
- Queues
- Hash Tables
- Trees (Binary Tree, Binary Search Tree, AVL Trees, Red-Black Trees)
- Heaps (Binary Heaps)
- Tries
- Graphs

3. Algorithms:
- Elementary Sorting Algorithms
(Bubble Sort, Insertion Sort, Selection Sort)

- Advance Searching Algorithms
(Quick Sort, Merge Sort)

- Tree Traversal
Breadth-First Search: Level Order Traversal,
Depth First Search: PreOrder, InOrder, PostOrder

- Graph Traversal
(Breadth-First Search, Depth First Search)

4. Interview Questions
- Two Sum
- MinMax Stack
- Design Linked List
- Reverse Linked List
- Construct Binary Tree
- Invert Binary Tree
- Construct Binary Search Tree
- Detect Capital
- Reverse String
- Longest Palindromic Substring


Why this course?

  • Complete course is focused on concept learning approach, you learn every concept through a logical and visual learning approach.

  • Learn all important concepts in the simplest possible way with tons of examples and quizzes.

  • You just need basic Python knowledge, we will cover everything step-by-step from scratch.

After completing this course you will be ready to work as an Intern, Fresher, or Freelancer and you will also be able to implement everything yourself! Most importantly you will be ready to divide deep with future practice and hard level question of Data Structures. 

Enroll now, I will make sure you learn best about Data Structures and Algorithms.


Data Structures and Algorithms Python: The Complete Bootcamp
Data Structures and Algorithms Python: The Complete Bootcamp
Data Structures and Algorithms Python: The Complete Bootcamp
Data Structures and Algorithms Python: The Complete Bootcamp


Course Introduction

Course Introduction

Welcome - Lets Get Started!

Curriculum Walkthrough

Big O Notation

Section Introduction

Complexity Analysis

Why we need Big O Notation?

Big O(n) Complexity

Big O(1) Complexity

Counting Operations

Simplifying Big O - Part 1

Big O(n^2) Complexity

Simplifying Big O - Part 2

Big O(n!) Complexity

Space Complexity

Space Complexity - II

Section Summary

Essential Concepts - I



Data Structure - Introduction

Introduction to Data Structures

Data Structures - Array

Array Introduction

Array - Common Operations I

Array - Common Operations II

Static vs Dynamic Array - Common Operations III

Data Structures - Linked List

Linked List

Linked List Complexities

Doubly Linked List

Data Structures - Stack and Queue

Stack and Queue

Data Structures - Hash Tables

Hash Tables

Data Structures - Trees

Tree - Part 1

Tree - Part 2

Binary Tree

Types Of Binary Tree

Binary Search Tree

AVL - Red Back Tree

Data Structures - Heaps


Heap Sort and Priority Queue

Data Structures - Trie

Trie - I

Trie - II

Why are Tries Important?

Data Structures - Graph


Essential Concepts - II

What is Recursion?

Recursion: Control of a Function

Recursion: Tracing Tree

Recursion: Understanding Call Stack

Recursion: Tree Recursion

Recursion Example - Factorial of a Number

Algorithm: Searching

Linear Search

Binary Search

Binary Search Complexity

Binary Search Implementation

Binary Search Implementation - Recursion

Algorithm: Sorting Elementary

Sorting Algorithm Introduction

Bubble Sort

Bubble Sort Visualization

Bubble Sort Implementation

Bubble Sort Complexity

Selection Sort

Selection Sort Visualization

Selection Sort - Implementation

Selection Sort - Complexity

Insertion Sort

Insertion Sort Implementation

Insertion Sort Complexity

Performance Analysis

Algorithm: Sorting Advanced

Divide and Conquer Algorithms

Quick Sort

Quick Sort Complexity

Quick Sort Implementation

Merge Sort

Merge Sort Complexity

Merge Sort Implementation

Algorithms: Tree Traversal

Tree Traversal

Depth First Search - Preorder Inorder Postorder

Binary Tree Implementation

Depth First Search - Implementation

Depth First Search - Complexity

Breadth First Search - Level Order

Breadth First Search - Implementation

Breadth First Search - Complexity

Algorithms: Graph Traversal

Graph Traversal

Graph Implementation

Breadth First Search - Implementation

Depth First Search - Implementation

Graph Traversal Complexity

Implementations and Interview Questions

Data Structure Implementation

Problem Solving Approach

Question 1: Two Sum

Two Sum

Code Solution: Two Sum

Question 2: Min Stack

Min Stack

Min Stack Implementation

Solution: Min Stack

Question 3: Max Stack

Max Stack

Solution: Max Stack

Question 4: Design a Linked List

Design a Linked List - I

Design a Linked List - II

Design a Linked List - III

Design a Linked List - IV

Solution: Design Linked List

Question 5: Reverse Linked List

Reverse Linked List - I

Reverse Linked List - II

Solution: Reverse Linked List

Question 6: Construct Binary Tree

Traversal (Preorder-Inorder-Postorder)

Construct BT: From Preorder and Inorder Traversal - I

Construct BT: From Preorder and Inorder Traversal - II

Solution: Construct Binary Tree PI

Question 7: Invert Binary Tree

Invert Binary Tree - I

Invert Binary Tree - II

Solution: Invert Binary Tree

Question 8: Construct Binary Search Tree

Construct BST: From Preorder Traversal

Construct BST: From Preorder Traversal - II

Solution: Construct Binary Search Tree

Question 9: Detect Capital

Detect Capital

Solution: Detect Capital

Question 10: Reverse String

Reverse String

Solution: Reverse String

Question 11: Longest Palindromic Substring

Longest Palindromic Substring - I

Longest Palindromic Substring - II

Solution: Longest Palindromic Substring

Thank You For Being Here!

Thank You For Being Here!


Hidnel11 July 2021

I like it so far, the course is easy to follow and the prof provides great explanation on each topic.

Shreyash3 June 2021

i loved this content, and sir is also responsive, if any doubt comes just drop them in Q & A sir will responce soon

Neethi24 May 2021

For person with little programming experience like me. One word for this course "Splendid" . 1. Well structured curriculum. 2.Great way of explaining them with coding sections. 3. The phase of the course is good.(But I use 1.5X rate and I would suggest the same for other learners ) At the end , Kudos to the creator. Keep Going :)

Karan22 May 2021

It's a really good course to learn data structures and algorithms with Python from Basics. I have cut 0.5 star just because if complexity part will be little bit more in depth in looping part then it's a complete outstanding course. But Anyway It's Good a course designed by Shubham. I loved it

Ranit12 May 2021

As i want to have a good understanding of the data structures and algorithms with a clear idea. Its the course for me and also as i am comfortable with python i think this course will help me a lot.

Revanth11 May 2021

Actually, the presenter has a very good skill of showing things but his communication is average and slow

Aditya17 April 2021

A quite exceptional course. The way Shubham has taught the concepts is marvellous. This enhances my programming knowledge.

Sachin9 February 2021

I'm at the intial stages of this course. Normally I dont rate a course at initial stages. But I must say, the way you are explaining concepts are crystal clear and amazing. This is how a subject should be explained to beginners.Not rushing through the materials giving abstract ideas. I'm really happy that I found this course. I hope the instructor will keep the course up to date as and when necessary.


1/25/202195% OFFExpired


Udemy ID


Course created date


Course Indexed date
Course Submitted by