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