Skip to content

A comprehensive repository for Data Structures and Algorithms implemented in Python. Covers essential topics including Arrays, Linked Lists, Trees, Graphs, Sorting, and Searching algorithms.

Notifications You must be signed in to change notification settings

ggauravky/DSA-with-Python

Repository files navigation

🚀 DSA with Python

Mastering Data Structures & Algorithms, One Commit at a Time

Python Status License

A living repository documenting my journey through the world of algorithms and data structures

🎯 Explore💻 LeetCode Solutions🤝 Connect


🎯 Curriculum

🌱 Foundations

  • Basics

    • Compiler vs Interpreter
    • Variables, Keywords & Identifiers
    • Operators & Data Types
    • Functions & Control Flow
    • Loops & Problem Solving
  • Complexity Analysis

    • Time Complexity ⏱️
    • Space Complexity 💾
    • Big-O Notation
  • Recursion

    • Loops vs Recursion
    • Recursive Stack Visualization
    • Recursive Tree Patterns

🏗️ Data Structures

  • Linear Structures

    • Arrays (NumPy Implementation)
    • Singly Linked List
    • Doubly Linked List
    • Circular Linked List
  • Abstract Data Types

    • Stack (LIFO)
    • Queue (FIFO)
    • Deque (Double-ended)
    • Circular Queue
  • 🔜 Coming Soon

    • Trees & Graphs
    • Heaps & Priority Queues
    • Hash Tables

🎪 What Makes This Different?

class LearningPhilosophy:
    def __init__(self):
        self.approach = "Learn by Building"
        self.focus = ["Understanding", "Implementation", "Optimization"]

    def commit(self):
        while self.curiosity > 0:
            self.learn()
            self.implement()
            self.solve_problems()
            self.document()
        return "Master DSA 🎓"

This isn't just another DSA repository—it's a documented learning journey. Each implementation includes:

  • 📝 Clear explanations and comments
  • 🎨 Visual representations where applicable
  • ⚡ Time and space complexity analysis
  • 🧪 Practice problems and real-world applications

💡 Beyond the Basics

While this repo covers DSA fundamentals and implementations, I'm also grinding LeetCode daily to sharpen my problem-solving skills.

🔥 Want to see my LeetCode solutions?

LeetCode Solutions

Pattern recognition • Optimized solutions • Multiple approaches


🛠️ Tech Stack

Language: Python 3.x
Libraries:
  - NumPy: For efficient array operations
  - Built-in collections: deque, heapq (coming soon)
Environment: VS Code
Approach: First Principles + Practical Implementation

🚦 Quick Start

# Clone this repository
git clone https://github.com/ggauravky/DSA-with-Python.git

# Navigate to the project
cd "DSA with Python"

# Explore any topic
cd "001 Basics"

# Run and experiment
python "006 Functions.py"

💡 Pro Tip: Start with 001 Basics if you're new, or jump directly to data structures if you're comfortable with Python fundamentals.


📊 Progress Tracker

[████████████████░░░░] 65% Complete

✅ Python Fundamentals
✅ Complexity Analysis
✅ Recursion Mastery
✅ Arrays & Linked Lists
✅ Stack, Queue, Deque
🔄 Trees & Graphs (In Progress)
⏳ Dynamic Programming
⏳ Advanced Algorithms

🤝 Connect With Me

Gaurav

GitHub LinkedIn

Building in public • Learning every day • Open to collaborations


⭐ Star this repo if you find it helpful!

"The only way to learn a new programming language is by writing programs in it." - Dennis Ritchie

Last Updated: January 2026 | Continuously Evolving

About

A comprehensive repository for Data Structures and Algorithms implemented in Python. Covers essential topics including Arrays, Linked Lists, Trees, Graphs, Sorting, and Searching algorithms.

Topics

Resources

Stars

Watchers

Forks

Languages