Interactive Learning Laboratory

Data Structures & Algorithms Course Hub

A collection of standalone, zero-dependency interactive learning tools designed for classroom instruction, conceptual exploration, and active practice.

Static Web Distribution: All modules are self-contained HTML5/CSS/JavaScript with relative linking, optimized for standalone browsing or integration into Sphinx documentation trees.
Style Specification: style.md compliant

01. Computational Foundations & Problem Solving

Explains the universal two-stage problem pipeline connecting Enumeration to Search, Decision, Counting, and Optimization. Features an interactive 0/1 Knapsack sandbox and combinatorial explosion analysis.

  • Interactive Sandbox: 4-item Knapsack (Weight ≤ 5 kg) evaluated across 5 problem types.
  • Combinatorial Analysis: Why enumeration fails for large inputs ($2^{50} \approx 10^{15}$).
  • Compatibility Matrix: How 6 major algorithmic paradigms fit each problem type.
Enumeration Backtracking Branch & Bound Dynamic Programming Greedy

Comprehensive exploration of 7 core Abstract Data Types (List, Stack, Queue, Deque, Map, Set, Priority Queue) across candidate data structure implementations with step-by-step cost accounting.

  • Learn Mode: Single-ADT visualization with operation step counts and visual analogies.
  • Head-to-Head: Side-by-side implementation comparison for the same operation workload.
  • Cheat Sheet & Quiz: Summary table of $\Theta$-bounds and 10 scenario-based questions.
Array vs Linked List Circular Array Hash Table vs BST Binary Heap

02. Sorting Algorithms & Stability

Card Sort Visualizer Automated Visualizer

Step-by-step and auto-play visualization of Selection, Insertion, Merge, and Quick Sort. Realistic playing cards with subscript tags prove relative order stability or demonstrate inversion.

  • Stability Verification: Equal-rank cards tagged $A, B, C$ track relative order in real time.
  • Visual Partitions: Shaded sorted-zone boundary and auxiliary merge buffer row.
  • Presets & Speed: Random, Nearly Sorted, Reversed, and Many Duplicates.
Selection Sort Insertion Sort Merge Sort Quick Sort Stability Proof

Hands-on sorting practice allowing students to manually reorder cards using drag-and-drop or discrete two-card swaps, testing their intuition before observing algorithmic execution.

  • Tactile Manipulation: Drag-and-drop along the line or click two cards to execute a parabolic swap.
  • Live State Validation: Instant feedback when array is fully sorted and checks stability.
  • Full Undo Stack: Step backwards through up to 30 moves with move-counter tracking.
Manual Practice Drag & Drop Swap Sandbox Inversion Counting

03. Graph Algorithms & Shortest Paths

Single-Source Dijkstra's Algorithm Canvas Graph Visualizer

Interactive shortest-path tree construction on a weighted graph. Features arbitrary source vertex selection, synchronized Priority Queue relaxation, step-by-step state tracking, and click-to-trace shortest path.

  • Priority Queue Dynamics: Synchronized PQ table updates after each edge relaxation.
  • Crisp Canvas Rendering: High-DPI line art with node status states (Unvisited, Evaluating, Visited).
  • Shortest Path Tree: Edge highlighting and click-to-trace shortest route from the source.
Single-Source Shortest Path Priority Queue Edge Relaxation Greedy Paradigm