AlgorithmByPrabhat
visualising data structures and algorithms through animation
No result were found.>
VisuAlgo is a trilingual site. Try visiting the other versions of VisuAlgo other than the default English version, e.g., Chinese or Indonesian. Users
can see the translation statistics for these three pages. We aim to make all three has near 100% translation rate. Unfortunately the translation progress with other languages are too far behind and they
are thus redirected to English.
In VisuAlgo, you can use your own input for any algorithm instead of using only the provided sample inputs. This is one of the key feature of VisuAlgo. Try the graph drawing feature in these 9 graph-related visualizations: Graph DS,
DFS/BFS, MST, SSSP, Max Flow, Matching, MVC,
Steiner Tree, and TSP. You can also click tag 'graph' in any of these 9 graph-related visualization boxes or type in 'graph' in the search
box.
Here are some of the newer visualization features: ability to show two visualization scales (1.0x and 0.5x), the zoom-out scale is used to show operations of a slightly bigger test cases, /list (the linked
list are no longer automatically re-layout for most cases to strengthen the O(1) impression of almost all Linked List operations).
Breaking news [Fri, 09 Jun 23]: VisuAlgo project is funded by Optiver starting today. We now open VisuAlgo account registration to every Computer Science students/teachers worldwide.
Go to the login page and follow the on-screen instructions to create a new VisuAlgo account (no longer restricted to 'nus.edu'-related emails).
To compare 2 related algorithms, e.g., Kruskal's vs Prim's on the same graph, or 2 related operations of the same data structure, e.g., visualizing Binary (Max) Heap as a
Binary Tree or as a Compact Array, open 2 VisuAlgo pages in 2 windows and juxtapose them. Click here to see the screenshot. This juxtaposition technique can be used anytime you want
to compare two similar data structures or algorithms.
You can visualize the recursion tree (or DAG, if there are overlapping subproblems and Dynamic Programming (DP) is applicable) of ANY valid recursive function that can be written in JavaScript. Click
here to see the screenshot. Obviously do not try visualizing recursion with a gigantic recursion tree as doing so will crash your own web browser/computer.
VisuAlgo loads fast for first time visitors (we use Cloudflare global CDN), but it loads 'almost instantly' for returning visitors as we also cache lots of static content of VisuAlgo :). So, do not use incognito or private browsing
mode to keep the cache. Moreover, for NUS students with VisuAlgo accounts, we will load VisuAlgo according to your preferences/class setup after you login.
Each visualization page has an 'e-Lecture Mode' that is accessible from that page's top right corner. This mode is automatically shown to first time (or non logged-in) visitors to showcase the data structure or algorithm being
visualized. The quality of e-Lecture mode for many visualization pages have reached the lecture standard of algorithm classes in National University of Singapore :).
Please check the newest features of VisuAlgo: 1). User accounts system for NUS students and verified CS lecturers worldwide (and also read the latest Privacy Policy popup at the bottom right corner), 2). More mobile-friendly setup, 3). More
polished e-Lecture notes to reach "NUS standard", and 4). Trilingual capability (/en, /zh, or /id).
VisuAlgo has two main components: The 24 visualization pages and their associated Online Quiz component (more questions are currently being added into the question bank). We do not script any of the questions in Online Quiz :O and all answers
will be graded almost instantly :). You can this online quiz system by clicking the 'Training' button on the visualization module.
-
cs1010
it5003
cs2040
cs3230
cs3233
-
array
algorithm
bubble
select
insert
selection
insertion
merge
quick
randomized quick
counting
radix
sort
cs1010
it5003
cs2040
cs3230
list
data structure
sorting
-
bit manipulation
set
cs3233
array
list
ds
data structure
bitmask
-
stack
queue
doubly
deque
it5003
cs2040
array
ds
data structure
linked
-
priority queue
recursive
it5003
cs2040
recursion
ds
data structure
binary
heap
-
open addressing
linear
quadratic
probing
it5003
cs2040
ds
data structure
-
adelson velskii landis
set
table
avl
it5003
cs2040
recursion
recursive
ds
data structure
set
bst
binary
search
tree
priority
queue
-
tree
complete
bipartite
dag
it5003
cs2040
graph
ds
data structure
-
path compression
disjoint
set
data structure
union by rank
cs2040
cs3233
array
tree
find
ds
-
binary indexed tree
bit
dynamic
fenwick
range
sum
point
update
cs3233
binary
ds
data structure
-
dynamic
range
sum
min
max
cs3233
segment
tree
ds
data structure
-
dynamic programming
dp
generic
cs1010
it5003
cs2040
cs3233
cs4234
recursive
algorithm
recursion
tree
dag
-
bfs
dfs
it5003
cs2040
bipartite
scc
cut vertex
articulation point
bridge
cs2020
graph
algorithm
-
mst
prim
kruskal
graph
min
spanning
cs2040
tree
algorithm
-
sssp
single-source
bfs
dijkstra
bellman ford
it5003
cs2040
single source
shortest path
graph
algorithm
-
floyd
tortoise-hare
math
cs3233
algorithm
-
string
matching
lrs
lcs
cs3233
suffix
tree
ds
data structure
-
lcp
cs3233
matching
lrs
lcs
suffix
array
string
ds
data structure
-
convex
cut
winding
concave
cs3233
computational
geometry
algorithm
-
andrew
monotone chain
graham
scan
jarvis
march
cs3233
computational
geometry
algorithm
-
max flow
edmonds karp
min cut
dinic
ford fulkerson
graph
cs3233
cs4234
algorithm
-
augmenting path
bipartite
graph
cs3233
cs4234
matching
algorithm
-
np-hard
graph
bipartite
tree
tree
dp
bipartite
matching
max flow
cs3233
cs4234
-
-
np-hard
graph
dp
mst
cs3233
cs4234
-
About
✕
This platform is designed to simplify the learning of complex data structures and algorithms through engaging and interactive visualizations. It covers a wide range of fundamental and advanced topics in computer science, providing users with an intuitive way to grasp intricate concepts.
The visualizations demonstrate how different algorithms and data structures operate internally, helping users understand their mechanics and applications through clear, step-by-step graphical representations. Whether you're a student, a coding enthusiast, or a professional preparing for interviews, this platform serves as a valuable resource for mastering essential topics.
Key Topics Covered:
Data Structures: Array, Linked List (LL), Binary Heap, Hash Table, Binary Search Tree (BST), Graph Data Structure, Union-Find Data Structure, Fenwick Tree, Segment Tree, Suffix Tree, Suffix Array.
Algorithmic Concepts: Sorting, Bitmasking, Recursion Tree, Directed Acyclic Graph (DAG), Graph Traversal, Minimum Spanning Tree, Single-Source Shortest Path (SSSP), Cycle Finding, Geometry (Polygon, Convex Hull).
Advanced Topics: Network Flow, Graph Matching, Minimum Vertex Cover, Steiner Tree, Travelling Salesman, Nondeterministic Polynomial (NP) Complete Reduction.
The platform allows users to see how each of these data structures and algorithms behaves in real-time, offering a hands-on learning experience. Whether you're dealing with graph algorithms, dynamic programming, or optimization problems, the visualizations will help demystify these topics by breaking them down into manageable, clear animations.
Advantages of the Platform:
- Interactive Learning: Engage with algorithms visually, breaking down complex processes into understandable steps.
- Comprehensive Coverage: From basic data structures to advanced algorithms, the platform offers a broad range of topics to explore.
- Self-Paced Exploration: Learn at your own pace, revisiting topics as needed with easy-to-follow visualizations.
- Practice-Oriented: Ideal for preparing for coding interviews, contests, or deepening your understanding of algorithms and data structures.
- Free and Accessible: Available to anyone, anywhere, with no login required, making it a versatile tool for learners and professionals alike.
Privacy Policy
✕
Version 1.2.0 (Updated Mon, 14 Oct 2024).
Since Mon, 14 Oct 2024, we no longer use Google Analytics. Thus, all cookies that we use now are solely for the operations of this website. The annoying cookie-consent popup is now turned off even for first-time visitors.
Anyone can use AlgoByPrabhat without needing to create an account or credentials. The platform is designed to be accessible for all users right from the start. This website is completely free, and anyone can access it without signing up.
Your privacy is important to us. When using AlgoByPrabhat, you can explore various algorithms and data structures without any personal information being collected. There’s no need for you to provide any identifiable data to engage with the site.
If you wish to store customization settings (e.g., layout mode, default language, playback speed, etc.), you can create an account (a tuple of your official email address, display name, and a password that is encrypted on the server side — no other personal data is stored). Your account will allow you to save your preferences and track your online quiz progress.
However, there is no need to create an account to use AlgoByPrabhat; users can fully engage with the platform without signing up. Your experience on the website will remain the same whether or not you choose to create an account.
By using AlgoByPrabhat, you agree to our privacy policy, which ensures that your data remains secure and private. We do not share or sell any personal information, and you have the option to delete your account at any time if you choose to create one.