Advanced Algorithms — Interactive Companions

Interactive visualizations for the Advanced Algorithms course at the University of Udine.

Each notebook lets you step through classic algorithms with sliders and custom inputs — all running directly in your browser via Pyodide, no installation required.

Notebooks

Chapter 1 — String Matching

  1. Naive String Matching — Step through every alignment of P against T
  2. KMP — Failure function (sp values) and search with fallback arrows
  3. Z-Algorithm — Z-array computation with Z-box reuse
  4. Boyer-Moore — Right-to-left scanning with bad character rule
  5. Suffix Trie & Suffix Tree — Build and visualize suffix structures
  6. Algorithm Comparison — Side-by-side character comparison counts
  7. Keyword Tree — Multiple pattern matching: tree builder and search visualization