Skip to content

🐍 Python DSA Notes

"Simple is better than complex. Complex is better than complicated." β€” Tim Peters (The Zen of Python)

Welcome to Python DSA Notes β€” a structured, beginner-to-advanced reference for Python Programming and Data Structures & Algorithms, covering everything from Python basics to advanced algorithms and interview-level practice problems.


πŸ—ΊοΈ What's Inside

# Section What You'll Learn
01 πŸ”΅ Basics Variables, data types, loops, functions, error handling, and modules
02 πŸ“Š Complexity Analysis Big O, Big Θ, Big Ξ©, time and space complexity
03 βš™οΈ Algorithms Sorting, searching, recursion, dynamic programming, greedy, and graph algorithms
04 πŸ—ƒοΈ Data Structures Lists, tuples, sets, dicts, stacks, queues, linked lists, trees, heaps, and graphs
05 πŸ† Practice Problems Curated problems from easy to hard β€” interview ready

πŸš€ How to Use These Notes

New to Python?

Start with Basics β†’ Complexity Analysis β†’ Data Structures β†’ Algorithms before jumping into practice problems.

Already know Python?

Jump straight to Data Structures or Algorithms depending on what you're revising.

Keep in mind

Every topic includes real code examples, memory diagrams, and practical use cases β€” read them carefully, don't just skim the code.


πŸ› οΈ Run Locally

# Clone the repo
git clone https://github.com/yxshkm-notes/python-dsa-notes.git
cd python-dsa-notes

# Create virtual environment
python -m venv venv
source venv/bin/activate   # Mac/Linux
venv\Scripts\activate      # Windows

# Install dependencies
pip install mkdocs mkdocs-material

# Serve locally
mkdocs serve

Open http://127.0.0.1:8000 in your browser.


🀝 Contributing

Found a mistake or want to add something? Contributions are welcome!

  • Check the README for contribution steps
  • Open an Issue to report problems
  • Submit a Pull Request with your improvements

⭐ If you find this helpful, give it a star on GitHub β€” it keeps the motivation going!