Comprehensive list of Data Structures and Algorithms (DSA)

Core Data Structures
1. Arrays
-
Basics: Declaration, Iteration, Searching
-
Sliding Window
-
Two Pointers
-
Prefix Sum / Difference Array
2. Strings
-
Manipulation & Parsing
-
String Matching (Naive, KMP, Rabin-Karp)
-
Palindromes, Anagrams, Substrings/Subsequences
-
Character Frequency Maps
3. Linked Lists
-
Singly & Doubly Linked Lists
-
Reversal (iterative/recursive)
-
Cycle Detection (Floyd's Algorithm)
-
Intersection, Middle, Merge Two Lists
4. Stacks
-
Implementation (Array/Linked List)
-
Infix/Prefix/Postfix Evaluation
-
Balanced Parentheses
-
Monotonic Stack (Next Greater Element)
5. Queues
-
Simple & Circular Queue
-
Deque (Double-Ended Queue)
-
Priority Queue (Min/Max Heap)
-
Sliding Window Maximum (Deque)
6. Hashing
-
HashMap, HashSet
-
Frequency Counter
-
Collision Handling Basics
-
Hashing in Interview Patterns (e.g., Two Sum, Subarrays with Given Sum)
7. Trees
-
Binary Tree / Binary Search Tree (BST)
-
Tree Traversals (Inorder, Preorder, Postorder, Level Order)
-
DFS / BFS
-
Lowest Common Ancestor (LCA)
-
Height, Diameter, Balanced Tree
-
Serialization/Deserialization
-
Trie (Prefix Tree)
8. Heaps
-
Min Heap / Max Heap
-
Priority Queue
-
Kth Largest/Smallest Elements
-
Heapify
-
Merge K Sorted Lists / Arrays
9. Graphs
-
Representations (Adjacency List/Matrix)
-
Traversal: DFS / BFS
-
Cycle Detection (Undirected/Directed)
-
Topological Sort
-
Dijkstra’s Algorithm
-
Bellman-Ford
-
Floyd-Warshall
-
Union-Find (Disjoint Set)
-
MST (Kruskal / Prim)
10. Tries
-
Insert / Search / Prefix Matching
-
Word Dictionary
-
Autocomplete
-
Bitwise Trie (for XOR problems)
Core Algorithms
11. Sorting Algorithms
-
Bubble, Selection, Insertion (Basics)
-
Merge Sort, Quick Sort (Divide & Conquer)
-
Counting Sort, Bucket Sort, Radix Sort
-
In-place and Stable Sorts
-
Sorting Objects/Custom Comparators
12. Searching Algorithms
-
Linear Search
-
Binary Search (Basics & Variants)
-
Binary Search on Answer / Space
-
Ternary Search (rare but good to know)
13. Recursion & Backtracking
-
Factorials, Fibonacci
-
Subsets / Permutations
-
N-Queens
-
Sudoku Solver
-
Combination Sum
-
Maze problems
14. Dynamic Programming (DP)
-
1D DP (Fibonacci, Climbing Stairs)
-
2D DP (Grid, Matrix Path)
-
Memoization vs Tabulation
-
Longest Common Subsequence / Substring
-
0/1 Knapsack
-
DP on Strings (Edit Distance, Palindrome Partitioning)
-
DP on Trees
-
Bitmask DP
15. Greedy Algorithms
-
Activity Selection
-
Fractional Knapsack
-
Job Scheduling
-
Huffman Coding
-
Greedy vs DP trade-offs
Math & Bit Manipulation
16. Bit Manipulation
-
AND, OR, XOR, NOT, Left/Right Shifts
-
Check Odd/Even
-
Count Set Bits
-
Power of Two
-
Single Number / Duplicate Numbers
-
Bitmasking with Subsets
17. Math
-
GCD, LCM
-
Prime Numbers (Sieve of Eratosthenes)
-
Modular Arithmetic
-
Fast Exponentiation
-
Combinatorics (nCr, Pascal’s Triangle)
Interview-Specific Patterns
-
Two Pointers
-
Fast and Slow Pointers
-
Sliding Window
-
Monotonic Stack / Queue
-
Top-K Elements (Heaps + Maps)
-
Merge Intervals
-
Matrix Problems
-
Subarray / Substring Sum
-
Graph Traversal Patterns
-
Prefix / Suffix Techniques
System Design & Real-World Relevance (Basic DSA tie-in)
-
Designing Rate Limiters (queues)
-
Caching (LRU, LFU - LinkedHashMap/Heap)
-
Auto-complete (Trie)
-
Shortest path (Dijkstra for GPS)
-
Recommendations (Graph-based BFS/DFS)
Problem Practice Platforms
-
LeetCode
-
HackerRank
-
Codeforces
-
GeeksforGeeks
-
InterviewBit