Skip to content
Dev Doshi edited this page Aug 31, 2026 · 1 revision

🧠 Data Structures & Algorithms in Python

A hands-on, open-source collection of Data Structures & Algorithms implementations in Python β€” built for learning, practice, experimentation, and coding interviews.

Learn β†’ Think β†’ Implement β†’ Optimize β†’ Repeat


πŸš€ About This Repository

This repository contains a growing collection of Data Structures & Algorithms problems and implementations in Python.

The goal is simple:

Don't just memorize solutions. Understand the patterns behind them.

The repository is organized around both data structures and problem-solving techniques, making it useful for beginners, interview candidates, competitive programmers, and developers.


🎯 What You'll Find

  • 🧱 Data Structures
  • ⚑ Algorithms
  • 🧩 Problem-Solving Patterns
  • 🧠 LeetCode Problems
  • πŸ† Contest Problems
  • πŸ”„ Recursion & Backtracking
  • 🌳 Trees & Binary Search Trees
  • πŸ•ΈοΈ Graph Algorithms
  • πŸ”— Linked Lists
  • πŸ“š Stacks & Queues
  • ⛰️ Heaps
  • πŸ”’ Bit Manipulation
  • πŸ—ΊοΈ Hash Maps
  • πŸͺŸ Sliding Window
  • βž• Prefix Sum
  • πŸ” Binary Search
  • 🎯 Interview-focused problems

πŸ—ΊοΈ Where Should I Start?

🌱 Beginner

Start with:

  1. Bit Manipulation
  2. Hash Maps
  3. Stack & Queue
  4. Linked Lists
  5. Two Pointers

Then move towards:

  1. Sliding Window
  2. Prefix Sum
  3. Recursion

πŸš€ Intermediate

After becoming comfortable with the basics:

  1. Binary Trees
  2. BST
  3. Heaps
  4. Backtracking
  5. Graphs
  6. Shortest Path Algorithms

πŸ”₯ Interview Preparation

For interview preparation, focus on patterns rather than individual problems.

Recommended order:

Arrays
   ↓
Hash Maps
   ↓
Two Pointers
   ↓
Sliding Window
   ↓
Prefix Sum
   ↓
Binary Search
   ↓
Stack / Queue
   ↓
Linked List
   ↓
Trees
   ↓
Heap
   ↓
Graphs
   ↓
Backtracking
   ↓
Dynamic Programming