VisuAlgo Minimum Spanning Tree
Exploration ModeHome
012344466289

Random Graph

Sample Graphs

Kruskal's Algo

Prim's Algo

CP 4.10

CP 4.14

K5

Rail

Tessellation

GO

About Team Terms of use
slow
fast
go to beginning previous frame pause next frame go to end

About the project

Motivation
VisuAlgo was conceptualised in 2011 by Dr Steven Halim as a tool to help his students better understand data structures and algorithms, by allowing them to learn the basics on their own and at their own pace. Together with two of his students from the National University of Singapore, a series of visualisations were developed and consolidated, from simple sorting algorithms to complex graph data structures.

Though specifically designed for the use of NUS students taking various data structure and algorithm classes (CS1020, CS2010, CS2020, and CS3233), as advocators of online learning, we hope that curious minds around the world will find these visualisations useful as well.

Ongoing developments
VisuAlgo is an ongoing project, and more complex visualisations are still being developed. Originally developed using HTML5 Canvas, we are currently redesigning the site to harness the power of Scalable Vector Graphics (SVG) instead. An automated testing system is also in the works.

Publications
This work has been presented briefly at the CLI Workshop at the ACM ICPC World Finals 2012 (Poland, Warsaw) and at the IOI Conference at IOI 2012 (Sirmione-Montichiari, Italy).

The team

Project leader
Dr Steven Halim, Lecturer, SoC, NUS

Initial Programmers
Koh Zi Chun
Victor Loh Bo Huai

Past Final Year Project students
Phan Thi Quynh Trang
Peter Phandi
Albert Millardo Tjindradinata

Present Final Year Project students
Nguyen Hoang Duy
Rose Marie Tan Zhao Yun
Ivan Reinaldo

Advisor
Felix Halim

Terms of use

If you are a data structure and algorithm teacher, you are allowed to use this website for your classes. You can take screen shots from this website and use the screen shots elsewhere as long as you cite this website as a reference.

A Spanning Tree of a connected, undirected graph is a subgraph that is a tree that connects all vertices together. A graph can have multiple Spanning Trees. A Minimum Spanning Tree is a Spanning Tree that has the smallest total weight among the various Spanning Trees. Note that a graph can also have multiple MSTs.
Next
All available MST operations will be shown here. Select an action and provide the necessary input, and the action will be animated in the visualisation area.
Next
View the visualisation here!
Next
As the action is being carried out, each step will be described in the status panel.
Next
You can also follow the psuedocode highlights to trace the algorithm.
Next
Control the animation with the player controls! Keyboard shortcuts are:
Spacebar: play/pause/replay
Left/right arrows: step backward/step forward
-/+: decrease/increase speed
Next
Return to "Exploration Mode" to start exploring!