Welcome to the Data Structures & Algorithms (DSA) journey using Python! This repository contains all the notes, code implementations, practices, and resources to help you master DSA.
- Big O Notation (Time & Space Complexity)
- Arrays (Operations, Accessing, Searching, Slicing)
- Recursion Basics
- Hash Tables
- Collision handling in hash tables
- Singly
- Doubly Linked Lists
- Stack (LIFO)
- Queue (FIFO)
- Bubble Sort
- Selection Sort
- Insertion Sort
- Merge Sort
- Quick Sort
- Heap Sort
- Binary Search
- Binary Trees & Binary Search Trees
- Binary Search Tree (BST)
- Node deletion in BST
- In-order-traversal
- Pre-order-traversal
- Post-order-traversal
- Graphs & BFS/DFS Traversals
- Dynamic Programming (Memoization, Tabulation)
- Greedy Algorithms & Backtracking
- Common Coding Interview Problems
- Grokking Algorithms – Aditya Bhargava
- Cracking the Coding Interview – Gayle Laakmann McDowell
- NeetCode (Great for coding interviews)
- CS Dojo (Beginner-friendly explanations)
- freeCodeCamp (Full DSA courses)
- LeetCode – DSA problems for interviews
- HackerRank – Step-by-step challenges
- GeeksforGeeks – Theory & implementation
- 📂
/notes
– Concept explanations & Big O analysis - 📂
/implementations
– Python implementations of DSA concepts - 📂
/practice
– Coding challenges & solutions