The z-array built in linear time — Z-boxes recycle earlier comparisons, and pattern$text turns prefix lengths into exact matches.
Tip: use samples, upload, copy, download, and send-to actions inside the workspace where available.
Z Algorithm Visualizer is a free, browser-based tool that helps you tidy up and standardize messy datasets. The z-array built in linear time — Z-boxes recycle earlier comparisons, and pattern$text turns prefix lengths into exact matches. It's built for speed and privacy: Everything runs locally in your browser — your data is never uploaded to a server. No sign-up, no installs, and no daily limits.
Clean obvious quality problems before analysis, imports, dashboards, or automation.
Review the preview, copy or download the result, and keep everything local in your browser.
KMP Algorithm Visualizer: Knuth-Morris-Pratt animated: the failure table is built first, then mismatches slide the pattern instead of restarting — the text pointer never moves back.
Open toolBoyer-Moore Visualizer: Right-to-left matching with the bad-character rule animated — watch mismatches teach the pattern how far to jump, skipping text wholesale.
Open toolAlgorithm Academy: 35+ classic algorithms animated step by step — searching, counting/radix/bucket sort, dynamic programming tables, greedy, backtracking, KMP, graph algorithms, max flow, and convex hull — with auto-play, next/prev stepping, adjustable interval, and pseudocode that highlights the running line.
Open tool1Z-algorithm on "ABABC$ABABDABACDABABCABA" (pattern$text): z[i] = length of the longest prefix of the whole string starting at i. A z-value equal to the pattern length marks a match after the $.
build s = pattern + '$' + textmaintain Z-box [l, r):i inside box → copy z[i-l] freeextend by direct comparisonz[i] = |pattern| → match at i
z[i] = longest prefix match starting at i, computed in linear time by recycling the current Z-box. Pattern$Text turns it into a matcher.