Level |
Topic |
Subtopics |
Basic |
Arrays |
Static arrays, Dynamic arrays, Traversal, Searching |
|
Strings |
String manipulation, Substrings, Palindromes |
|
Linked List |
Singly, Doubly, Circular, Operations (insert, delete, traverse) |
|
Stacks |
LIFO, Implementation using array/linked list, Applications |
|
Queues |
FIFO, Circular Queue, Priority Queue basics |
|
Recursion |
Base case, Recursive calls, Tail recursion, Factorial, Fibonacci |
|
Hashing Basics |
Hash functions, HashMap, Collision handling |
|
Sorting Basics |
Bubble, Selection, Insertion, Time complexity |
|
Searching Basics |
Linear search, Binary search, Sorted/unsorted arrays |
|
Complexity Analysis |
Time complexity, Space complexity, Big-O, Big-Theta |
Intermediate |
Advanced Sorting |
Merge Sort, Quick Sort, Heap Sort, Counting Sort |
|
Binary Search Tree (BST) |
Insert, Delete, Traversal (Inorder, Preorder, Postorder) |
|
Graphs Basics |
Adjacency list/matrix, DFS, BFS, Representation |
|
Heaps |
Min-Heap, Max-Heap, Heapify, Priority Queue |
|
Hashing Advanced |
Open addressing, Separate chaining, HashSet/HashMap |
|
Linked List Advanced |
Reversal, Detect cycle, Merge two lists |
|
Stacks & Queues Advanced |
Min stack, Stack using queues, Queue using stacks |
|
Recursion Advanced |
Backtracking, N-Queens, Maze problem, Subset generation |
|
Sliding Window Technique |
Maximum/minimum window, Sum problems, String matching |
|
Two Pointers Technique |
Array problems, Linked list problems, Sorting-based problems |
Advanced |
Graph Algorithms |
Dijkstra, Bellman-Ford, Floyd-Warshall, Topological Sort |
|
Dynamic Programming (DP) |
Memoization, Tabulation, Fibonacci, Knapsack, LCS |
|
Advanced Trees |
AVL Tree, Red-Black Tree, Segment Tree, Fenwick Tree |
|
Trie |
Insert, Search, Prefix search, Autocomplete |
|
Disjoint Set (Union-Find) |
Path compression, Union by rank, Applications |
|
Greedy Algorithms |
Activity selection, Fractional knapsack, Huffman coding |
|
Backtracking Advanced |
Sudoku solver, N-Queens, Word search |
|
Graph Traversals Advanced |
Weighted, Directed, Undirected, Cycle detection |
|
Bit Manipulation |
XOR tricks, Masks, Counting set bits, Power of 2 checks |
|
Matrix Algorithms |
Matrix rotation, Path problems, Submatrix sum, DP on grids |
Expert |
Advanced DP |
DP on strings, DP on trees, DP with bitmasking |
|
Advanced Graphs |
Minimum spanning tree, Network flow, Shortest paths variants |
|
Segment Trees Advanced |
Range sum, Range minimum/maximum, Lazy propagation |
|
Fenwick Trees |
Binary Indexed Tree, Prefix sum, Range updates |
|
Advanced Heaps |
Indexed heap, Pairing heap, Applications in Dijkstra |
|
Advanced Tries |
Suffix trie, Compressed trie, Applications in string search |
|
Computational Geometry |
Convex hull, Line intersection, Closest pair |
|
Advanced Searching |
Ternary search, Exponential search, KMP algorithm |
|
Algorithm Design Patterns |
Divide & Conquer, Greedy, Dynamic Programming, Backtracking |
|
Research & Optimization |
Time-space optimization, Parallel algorithms, Latest techniques |
|
No comments:
Post a Comment