Comprehensive list of Data Structures and Algorithms (DSA)

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

Share:
Comprehensive list of Data Structures and Algorithms (DSA) | Interviews Prep