Transform classic algorithms into mesmerizing visual art pieces
A stunning interactive gallery that visualizes classic programming algorithms as beautiful, educational animations. Each algorithm becomes an interactive artwork that's both educational and aesthetically stunning.
- Bubble Sort - Rising bubbles with colors
- Quick Sort - Recursive partitioning as fractal splits
- Merge Sort - Merging streams of color
- Insertion Sort - Cards sliding into place
- Radix Sort - Digit-by-digit rainbow cascade
- Binary Search - Zooming into sorted array
- Depth-First Search - Maze exploration with trail
- Breadth-First Search - Ripple effect through graph
- Dijkstra's Algorithm - Light spreading through network
- A Pathfinding* - Intelligent route-finding
- Fibonacci Spiral - Golden ratio growing organically
- Mandelbrot Set - Deep zoom with color gradients
- Voronoi Diagrams - Organic cell-like patterns
- Prime Number Spiral - Ulam spiral revealing patterns
- Perlin Noise Flow - Particle system with natural motion
- Conway's Game of Life - Cellular automata patterns
- Towers of Hanoi - Graceful disk movements
- Sieve of Eratosthenes - Numbers filtering into primes
- Pascal's Triangle - Expanding number pyramid
- Recursive Tree - L-system-like branching
Choose from 7 stunning visual themes:
- Neon Dreams - Cyberpunk aesthetic
- Organic Growth - Nature-inspired colors
- Minimalist - Clean, simple, elegant
- Retro Terminal - Green phosphor/amber CRT vibes
- Synthwave - 80s sunset gradients
- Monochrome - Black and white art
- Pastel Paradise - Soft, dreamy colors
โถ๏ธ Play/Pause - Control animation playback- โญ๏ธ Step-through - Analyze frame by frame
- ๐๏ธ Speed Control - Adjust from 0.25x to 4x speed
- ๐ Reset - Start from beginning
- ๐ฒ Randomize - Generate new data
- โ๏ธ Custom Input - Enter your own data to visualize
- ๐จ Theme Selector - Switch visual styles on the fly
- ๐ธ Screenshot - Export high-quality images
- ๐ค Share - Generate shareable links
Each visualization includes:
- Algorithm name and description
- Time and space complexity (Big-O notation)
- Step counter and operations tracker
- Syntax-highlighted code snippets
- Links to Wikipedia and learning resources
- Related algorithm suggestions
- Grid layout with animated previews
- Category filters (Sorting, Search, Math, Graphs, Classics)
- Difficulty tags (Beginner, Intermediate, Advanced)
- Search functionality
- Featured algorithms section
- Favorites system (saved in localStorage)
- Dark/Light mode toggle
- Fully responsive design
Simply clone and open in a browser - no build process required!
git clone https://github.com/yourusername/algorithm-art-gallery.git
cd algorithm-art-galleryQuick Start:
- Open
index.htmlfor the full gallery experience - Open
demo.htmlfor a quick single-algorithm demo
Or use a simple HTTP server:
# Python 3
python -m http.server 8000
# Node.js
npx serve
# PHP
php -S localhost:8000Then navigate to http://localhost:8000
algorithm-art-gallery/
โโโ index.html # Gallery homepage
โโโ algorithm.html # Algorithm viewer page
โโโ demo.html # Quick demo page
โโโ css/
โ โโโ styles.css # Custom styles
โโโ js/
โ โโโ algorithms-data.js # Algorithm metadata
โ โโโ framework.js # Visualization framework
โ โโโ gallery.js # Gallery interface logic
โ โโโ themes.js # Theme system
โ โโโ viewer.js # Viewer page controller
โ โโโ algorithms/
โ โโโ sorting.js # Sorting visualizations
โ โโโ search.js # Search visualizations
โ โโโ graph.js # Graph algorithms
โ โโโ math.js # Mathematical visualizations
โ โโโ classic.js # Classic problems
โโโ README.md
- Open
index.htmlto see all algorithms - Use filters to find algorithms by category or difficulty
- Search for specific algorithms
- Click on any card to view the full visualization
- Select an algorithm from the gallery
- Click Play to start the animation
- Adjust Speed to control playback
- Use Step to advance frame-by-frame
- Randomize to generate new data
- Change Theme for different visual styles
- Click Screenshot to save the current frame
Space- Play/Pauseโ- Next stepR- ResetD- Randomize data
- HTML5 Canvas - For rendering visualizations
- Vanilla JavaScript - No frameworks, pure JS
- Tailwind CSS - For UI styling
- LocalStorage - For favorites and preferences
Works best in modern browsers:
- Chrome/Edge 90+
- Firefox 88+
- Safari 14+
- Optimized for 60fps animations
- Handles 1000+ elements smoothly
- Efficient rendering with canvas
- Pixel-level optimizations for complex fractals
Perfect for:
- Computer Science students learning algorithms
- Teachers demonstrating algorithm behavior
- Coding bootcamps and workshops
- Self-learners exploring data structures
- Algorithm interview preparation
Contributions are welcome! Here are some ways you can help:
- Add new algorithms - Implement new visualizations
- Create new themes - Design beautiful color palettes
- Improve animations - Make visualizations more engaging
- Fix bugs - Report and fix issues
- Documentation - Improve guides and comments
- Add metadata to
js/algorithms-data.js - Create visualizer class in appropriate file
- Extend
AlgorithmVisualizerbase class - Implement
generateData(),calculateSteps(), andrender() - Add case in
viewer.jsto instantiate your visualizer
MIT License - feel free to use this project for learning, teaching, or your portfolio!
Created with โค๏ธ to make computer science beautiful
Inspired by:
- VisuAlgo
- The Coding Train
- Processing and p5.js communities
Future enhancements:
- More algorithms (Heap Sort, Red-Black Trees, etc.)
- Algorithm comparisons (side-by-side)
- Custom data input
- Sound design/sonification
- GIF export
- Social sharing with preview images
- Mobile touch controls
- Algorithm race mode
Have questions or suggestions? Open an issue or reach out!
Made with ๐ for the algorithm art community
"I never knew algorithms could be this beautiful!"