Algorithms

Series Overview & How to Use

📋 At a Glance

AspectDetails
Series Size25 articles with interactive visualizers
Target AudienceDevelopers preparing for interviews or wanting quick DSA review
FormatConcise cheatsheets with step-by-step visualizations
Key FeatureEvery article has an interactive visualizer

🎯 What You'll Learn

This series provides visual, interactive cheatsheets for essential data structures and algorithms:
  • Data Structures: ArrayList, LinkedList, HashMap, TreeSet, PriorityQueue, ArrayDeque, and more
  • Algorithms: Binary Search, Sorting, Graph Traversal, Dijkstra, Dynamic Programming
  • Concurrency: ConcurrentHashMap, BlockingQueue, Copy-on-Write, Immutable Collections
  • Advanced: Bloom Filter, B-Tree, Consistent Hashing, Raft Consensus
  • Bonus: Garbage Collection visualization, SQL Joins, ArrayList vs LinkedList comparison

📘 Introduction: Why Visual Learning?

Most DSA resources explain with text. This series shows with animations.

Each article follows a consistent, concise format:

  1. Quick Reference Card - Complexity, use cases, one-liner description
  2. Interactive Visualizer - Step through operations in real-time
  3. Key Operations - Code snippets for common operations
  4. When to Use - Decision guide for choosing this structure
  5. Common Pitfalls - Mistakes to avoid
  6. Interview Tips - What interviewers look for

🗂️ Series Structure

📦 Data Structures (Parts 1-8)

PartTopicKey ComplexityVisualizer
1ArrayListO(1) access, O(n) insertDynamic resizing animation
2LinkedListO(1) insert at endsNode pointer manipulation
3HashMapO(1) average lookupHash buckets & collisions
4TreeSet/BSTO(log n) sorted opsTree insertions & rotations
5PriorityQueueO(log n) extract-minHeap sift operations
6ArrayDequeO(1) both endsCircular buffer wrap-around
7LinkedHashMapO(1) + order preservedDual hash+list structure
8EnumSetO(1) bit operationsBit vector visualization

🔍 Algorithms (Parts 9-13)

PartTopicComplexityVisualizer
9Binary SearchO(log n)Search space halving
10SortingO(n log n) - O(n²)Side-by-side algorithm race
11Graph: DFS & BFSO(V + E)Node visit order comparison
12DijkstraO((V+E) log V)Distance relaxation steps
13Dynamic ProgrammingVariesDP table filling

🔄 Concurrency (Parts 14-17)

PartTopicKey FeatureVisualizer
14ConcurrentHashMapLock stripingConcurrent segment access
15BlockingQueueThread blockingProducer-consumer pattern
16Copy-on-WriteSafe iterationCopy creation on write
17Immutable CollectionsThread-safe by designStructural sharing

🔧 JVM & Database (Parts 18-19)

PartTopicVisualizer
18Garbage CollectionGenerational GC with object movement
19SQL JoinsINNER, LEFT, RIGHT, FULL join matching

🔬 Advanced Topics (Parts 20-24)

PartTopicKey FeatureVisualizer
20Bloom FilterProbabilistic membershipBit array with k hash functions
21B-TreeDatabase indexesNode splits and merges
22Consistent HashingDistributed systemsHash ring with virtual nodes
23Raft ConsensusDistributed consensusLeader election and log replication
24ArrayList vs LinkedListPerformance comparisonSide-by-side operation comparison

🎮 How to Use the Visualizers

Each visualizer supports:

  • ▶️ Play/Pause - Auto-advance through steps
  • ⏮️ ⏭️ Step - Manual step forward/backward
  • 🔄 Reset - Start over with new data
  • ⚡ Speed - Adjust animation speed
  • 📝 Code Panel - See pseudocode with active line highlighted

Keyboard Shortcuts

KeyAction
SpacePlay/Pause
Step forward
Step backward
RReset
?Show help

📊 Complexity Quick Reference

Time Complexity Comparison

O(1)       < O(log n) < O(n)    < O(n log n) < O(n²)    < O(2ⁿ)
Constant     Binary    Linear     Merge Sort   Bubble     Recursive
HashMap      Search    LinkedList Quick Sort   Selection  Fibonacci
             BST                  Heap Sort    Insertion

Space Complexity

StructureSpace
Array/ArrayListO(n)
LinkedListO(n) + pointer overhead
HashMapO(n) + load factor overhead
BST/TreeSetO(n)
Heap/PriorityQueueO(n)

🎯 Learning Paths

🚀 Interview Prep (1-2 hours)

Focus on most common interview topics:

  1. Part 1: ArrayList
  2. Part 3: HashMap
  3. Part 9: Binary Search
  4. Part 10: Sorting
  5. Part 11: Graph DFS/BFS

📚 Complete Foundation (4-5 hours)

Go through all parts in order for comprehensive understanding.

🔍 Topic Deep Dive

Jump directly to specific topics as needed:

  • Need sorted data? → Part 4 (TreeSet)
  • Priority processing? → Part 5 (PriorityQueue)
  • Thread-safe maps? → Part 14 (ConcurrentHashMap)
  • Producer-consumer? → Part 15 (BlockingQueue)
  • Database indexes? → Part 21 (B-Tree)
  • Distributed caching? → Part 22 (Consistent Hashing)
  • Cluster consensus? → Part 23 (Raft)
  • ArrayList or LinkedList? → Part 24 (Comparison)

✅ Summary & Key Takeaways

What This Series Offers

  1. Visual Learning - Every concept animated step-by-step
  2. Concise Format - Quick reference, not textbook chapters
  3. Practical Focus - Interview tips and real-world use cases
  4. Interactive - Learn by doing, not just reading

How to Get the Most Value

  • Use visualizers actively - don't just watch, interact
  • Try predicting the next step before advancing
  • Review complexity tables before interviews
  • Bookmark articles for quick reference

📚 Series Navigation


This series uses visualizers from @tomaszjarosz/react-visualizers