Skip to content

Latest commit

 

History

History
150 lines (130 loc) · 5.15 KB

File metadata and controls

150 lines (130 loc) · 5.15 KB

Topics to discover

Basic Data Structures and Algorithms Topics

1. Core Data Structures

  • Arrays — strengths, weaknesses, and use cases
  • Linked List.
  • Stack — LIFO operations and applications
  • Queue — FIFO operations and circular queue
  • Deque — double-ended queue
  • Hash Table — collisions and hash functions
  • Priority Queue and Heap basics
  • Binary Search Tree (BST) fundamentals
  • Graph representation (adjacency list vs adjacency matrix)
  • Basic String Handling (substrings, concatenation, hashing intro)

2. Fundamental Algorithms

  • Recursion — concept and common pitfalls
  • Sorting basics: Bubble Sort, Insertion Sort, Selection Sort
  • Merge Sort and Quick Sort — divide and conquer
  • Binary Search and variations
  • Breadth-First Search (BFS) on graphs
  • Depth-First Search (DFS) on graphs
  • Dijkstra’s Algorithm (introductory version with simple heap)
  • Greedy Algorithm basics with examples
  • Dynamic Programming introduction (Fibonacci, Knapsack)
  • Backtracking basics (N-Queens, subsets, permutations)

Advanced Data Structures and Algorithms Blog Series

1. Advanced Data Structures

  • Skip List and its applications in fast search
  • Treap (Tree + Heap hybrid)
  • Splay Tree — self-adjusting trees
  • Red-Black Tree — used in standard libraries
  • AVL Tree — comparison with Red-Black Tree
  • B-Tree and its role in databases
  • B+ Tree in relational database indexing
  • Segment Tree — efficient range queries
  • Fenwick Tree (Binary Indexed Tree)
  • Interval Tree — overlapping intervals
  • KD-Tree for multidimensional search
  • R-Tree for spatial data indexing
  • Quad Tree and image processing
  • Octree in 3D graphics
  • Cartesian Tree
  • Fusion Tree — optimizing queries
  • Van Emde Boas Tree for fast lookups
  • Trie for dictionary and autocomplete
  • Suffix Tree
  • Suffix Array
  • Compressed Trie (Radix Tree)
  • Patricia Tree
  • Wavelet Tree
  • Link-Cut Tree — dynamic trees
  • Euler Tour Tree
  • Heavy-Light Decomposition
  • Dynamic Segment Tree
  • Persistent Segment Tree
  • Advanced Binary Search Trees
  • Finger Tree — functional programming

2. Advanced Graph Algorithms

  • Dijkstra’s Algorithm with Fibonacci Heap
  • Bellman-Ford and Johnson’s Algorithm
  • Floyd-Warshall with optimizations
  • A* Search — heuristic-driven paths
  • Eulerian Cycle — applications
  • Hamiltonian Cycle — complexity and heuristics
  • MST: Prim vs Kruskal comparison
  • Borůvka’s Algorithm for MST
  • Edmonds-Karp for Max Flow
  • Push-Relabel Algorithm
  • Dinic’s Algorithm
  • Hopcroft-Karp for bipartite matching
  • Chu-Liu/Edmonds’ Algorithm (directed MST)
  • Johnson’s Algorithm for all-pairs shortest path
  • Tarjan’s Algorithm — strongly connected components
  • Kosaraju’s Algorithm
  • Advanced Topological Sorting
  • Euler Tour technique for graph problems
  • Hungarian Algorithm for assignment problem
  • Min-Cut / Max-Flow in transportation networks

3. String Algorithms

  • Knuth-Morris-Pratt (KMP)
  • Boyer-Moore Algorithm
  • Rabin-Karp with hashing
  • Z-Algorithm
  • Aho-Corasick for multi-pattern search
  • Manacher’s Algorithm — longest palindrome
  • Suffix Automaton
  • Burrows–Wheeler Transform (BWT)
  • FM-Index for compressed search
  • Rolling Hash & Rabin Fingerprinting
  • Duval’s Algorithm (Lyndon factorization)
  • Lempel-Ziv-Welch (LZW) compression
  • Rope and Splay Rope (dynamic strings)
  • Palindromic Tree (Eertree)
  • Edit Distance (Levenshtein distance with DP)
  • Bitap Algorithm (approximate matching)
  • Plagiarism detection with w-shingling
  • Bloom Filter in string processing
  • Suffix Array vs Suffix Tree trade-offs
  • DNA sequencing with string matching

4. Optimization & Search Algorithms

  • Binary Search extensions (Ternary Search)
  • Exponential Search
  • Interpolation Search
  • Fibonacci Search
  • Simulated Annealing
  • Tabu Search
  • Genetic Algorithms
  • Ant Colony Optimization (ACO)
  • Particle Swarm Optimization (PSO)
  • Artificial Bee Colony (ABC)
  • Hill Climbing
  • Beam Search
  • Branch and Bound technique
  • Knuth Optimization in DP
  • Divide & Conquer Optimization in DP
  • Convex Hull Trick
  • Li Chao Tree
  • Matrix Exponentiation
  • Meet-in-the-Middle technique
  • Fast Fourier Transform (FFT) in polynomial multiplication

5. Special Topics

  • Bloom Filter and Counting Bloom Filter
  • Cuckoo Hashing
  • Perfect Hashing
  • HyperLogLog for cardinality estimation
  • Skip Graph
  • Graph Coloring Algorithms
  • Disjoint Set Union (Union-Find with optimizations)
  • Mo’s Algorithm — offline query processing
  • Sparse Table for RMQ
  • Dynamic Programming on Trees