Visualising data structures and algorithms through animation. http://visualgo.net
Developed a portion of the project, List data structure visualization.
http://visualgo.net/list
It includes Linked List, Stack, Queue, Doubly Linked List, and Double-Ended Queue
VisuAlgo currently contains the following data structures and algorithms:
- Sorting
- Bitmask
- Linked List, Stack, Queue, Doubly List, Deque
- Binary Search Tree, AVL Tree
- Binary Heap
- Graph Data Structures
- Union-Find Disjoint Sets
- Segment Tree
- Binary Indexed Tree (Fenwick Tree)
- Generic Recursion Tree/DAG
- Graph Traversal
- Minimum Spanning Tree
- Single-Source Shortest Paths
- Network Flow
- Graph Matching
- Suffix Tree
- Suffix Array
- (Computational) Geometry
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 some of his students from the National University of Singapore (see "Team"), a series of visualisations were developed and consolidated, from simple sorting algorithms to complex graph data structures and algorithms. Though specifically designed for the use of NUS students taking various data structure and algorithm classes (CS1010, CS1020, CS2010, CS2020, CS3230, 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. The most exciting new development is an automated question generator and verifier (the online quiz system) that allows student to test their knowledge of basic data structures and algorithms. The questions are randomly generated via some rules and students' answers are quickly and automatically graded upon submission to our grading server. To try this online quiz feature, click the "Start training!" button on the top right corner of this page.
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).
Acknowledgements
This project is made possible by the generous Teaching Enhancement Grant from NUS Centre for Development of Teaching and Learning.
Contact
Please contact Dr. Steven Halim ([email protected]) for any VisuAlgo related queries.