You're viewing the original 2021 build (hand-written vanilla JS + SVG). Back to the 2026 React version →

Visual Algorithms

Customizable animations to explain obscure algorithms

In computer science, the longest palindromic substring or longest symmetric factor problem is the problem of finding a maximum-length contiguous substring of a given string that is also a palindrome. For example, the longest palindromic substring of "bananas" is "anana". The longest palindromic substring is not guaranteed to be unique; for example, in the string "abracadabra", there is no palindromic substring with length greater than three, but there are two palindromic substrings with length three, namely, "aca" and "ada".

Manacher (1975) invented a linear time algorithm, it is used to find the Longest Palindromic Sub-string in any string. This algorithm is required to solve sub-problems of some very hard problems.

Knuth–Morris–Pratt

Go to KMP
KMP algorithm was the first linear time complexity algorithm for string matching. It is used to find a "Pattern" in a "Text".

In real world KMP algorithm is used in those applications where pattern matching is done in long strings, whose symbols are taken from an alphabet with little cardinality. A relevant example is the DNA alphabet, which consists on only 4 symbols (A,C,G,T).

Hare & Tortoise

Go to Hare & Tortoise
Floyd's cycle-finding algorithm is a pointer algorithm that uses only two pointers, which move through the sequence at different speeds. It is also called the "tortoise and the hare algorithm", alluding to Aesop's fable of The Tortoise and the Hare.

In computer science, it is used to solve cycle detection or cycle finding problems.

Hello visitors, this is Lucas.

I'm passionate about creating visual animations to make obscure algorithms more accessible,
and this website will be expected to launch more algorithms animations in the future.

Thank you for your valuable time to visit [Visual Algorithms].