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-Depth DSA using Python
Role Play
Rating: 4.5 out of 5(4,080 ratings)
26,093 students

Data Structures and Algorithms: In-Depth DSA using Python

Learn Python Data Structures, Algorithms (DSA) with Animated Examples, includes Dynamic Programming, Backtracking etc...
Created bySyed Mohiuddin
Last updated 11/2025
English

What you'll learn

  • Learn Data Structures, Abstract Data Types and their implementation in Python
  • Implementation of Searching Algorithms in Python
  • Implementation of Stacks, Queues, Linked List, Binary Trees, Heaps and Graphs in Python
  • Implementation of Binary Tree Traversal Techniques in Python
  • Graph traversals techniques ie Depth First Search and Breadth-First Search in Python
  • Implementation of Sorting Algorithms in Python
  • Enhance Analytical Skill and efficiently use searching and sorting algorithms in real applications

Course content

52 sections433 lectures54h 24m total length
  • Course Introduction3:12
  • Get the most out of this course2:40
  • Why we need Data Structure ?2:35
  • Why Learn Algorithms ?5:12
  • Abstract Data Type (ADT)9:17
  • Python Installation on Windows5:39
  • PyCharm (IDE) Installation on Windows8:50

Requirements

  • Prior knowledge of Programming any high level language
  • Basic knowledge of Python Programming

Description

This course will help you in better understanding of the basics of Data Structures and how algorithms are implemented in Python. This course consists of Videos which covers the theory concepts + implementation in python.


There’s tons of concepts and content in this course:

  • Basics of data structures & Algorithms

  • Analysis of Algorithms (Big O, Time and Space complexity)

  • Recursion & Analysis of Recursive Algorithms

  • Searching Algorithms

  • Sorting Algorithms

  • Linked List

  • Stacks

  • Queues

  • Binary Trees

  • Binary Search Trees

  • Balanced Binary Search Trees

  • Priority Queues and Heaps

  • Hashing

  • Graphs

  • Graph Traversal Algorithms

Followed by Advanced Topics of Algorithms:

  • Sets and Disjoint Sets

  • Divide and Conquer Approach - Introduction

  • Divide and Conquer - Binary Search

  • Divide and Conquer - Finding Maximum and Mininum

  • Divide and Conquer - Merge Sort

  • Divide and Conquer - Quick Sort

  • Divide and Conquer - Selection Algorithm

  • Divide and Conquer - Strassens Matrix Multiplication

  • Divide and Conquer - Closest Pair

  • Divide and Conquer - Convex Hull

  • Greedy Method - Introduction

  • Greedy Method - Knapsack Problem

  • Greedy Method - Job Sequencing with Deadlines

  • Greedy Method - Mininum Cost Spanning Tree (Prim's & Kruskal's Algorithms)

  • Greedy Method - Optimal Storage on Trees

  • Greedy Method - Optimal Merge Pattern

  • Greedy Method - Single Source Shortest Path (Dijkstra's Algorithm)

  • Dynamic Programming - Introduction

  • Dynamic Programming - Multistage Graphs

  • Dynamic Programming - All Pairs Shortest Path

  • Dynamic Programming - Single Source Shortest Path

  • Dynamic Programming - Optimal Binary Search Trees

  • Dynamic Programming - 0/1 Knapsack Problem

  • Dynamic Programming - Reliability Design

  • Dynamic Programming - Travelling Salespersons Problem

  • Backtracking - Introduction

  • Backtracking - n-Queesn Problem

  • Backtracking - Sum of Subsets Problem

  • Backtracking - Graph Coloring Problem

  • Backtracking - Hamiltonian Cycles Problem

  • Backtracking - 0/1 Knapsack Problem

  • Branch & Bound - Introduction

  • Branch & Bound - n-Queens Problem

  • Branch & Bound - Job Sequencing Problem

  • Branch & Bound - 0/1 Knapsack Problem


Again, each of these sections includes detailed videos tutorial.


Who this course is for:

  • Students who want to have better understanding of Data Structures
  • Python programmers curious about Data Structures
  • IT Professional experimenting implementation of Data Structures in Python