Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Animations for algorithms and data structures?

Tags:

algorithm

Is there an application that can animate graph algorithms?

I find it much easier to understand a graph algorithm by watching animations. It would be nice if there is an application that can animate some common graph algorithms.

Edit

Any type of animation would be much appreciated. But it would be more desirable to have user interactions (e.g. data input, control of speed, play back).

A list of algorithms here:

  1. Breadth-first search: http://www.rci.rutgers.edu/~cfs/472_html/AI_SEARCH/SearchAnimations.html
  2. Depth-first search: http://www.rci.rutgers.edu/~cfs/472_html/AI_SEARCH/SearchAnimations.html
  3. Dijkstra: http://www.cse.yorku.ca/~aaw/HFHuang/DijkstraStart.html
  4. minimum spanning tree;
  5. bipartite match;
  6. maximum flow problem;
  7. binary tree operations;
  8. red-black tree;
  9. B-tree operations: http://slady.net/java/bt/view.php, http://ats.oka.nu/b-tree/b-tree.html
  10. disjoint set.
like image 439
Shuo Avatar asked Nov 23 '10 02:11

Shuo


People also ask

What is graphic data structure in animation?

A graphical data structure is essentially a mathematical model of the data in a picture. This model describes the properties of that data and therefore it describes relationships which exist in that data.

What is an algorithm Visualizer?

Algorithm Visualizer is an interactive online platform that visualizes algorithms from code. Learning an algorithm gets much easier with visualizing it.

How do you visualize a tree in data structure?

To achieve this, calculate the width of each node, which I define as the amount of horizontal space required to display this node's entire subtree, such that it doesn't overlap with its left or right siblings' subtrees. So, do a depth-first traversal through the tree to calculate each node's width.

What is VisuAlgo net?

VisuAlgo is an online visualization tool designed for anyone interested in data structures and algorithms. Undergraduate and graduate students of Computer Science usually visit this website.


4 Answers

  • BTree: http://ats.oka.nu/b-tree/b-tree.html
  • BFS & DFS: http://www.rci.rutgers.edu/~cfs/472_html/AI_SEARCH/SearchAnimations.html
  • Dijkstra: http://www.cs.sunysb.edu/~skiena/combinatorica/animations/dijkstra.html
  • MST: http://www.cs.sunysb.edu/~skiena/combinatorica/animations/mst.html
  • Red Black Tree: http://aleph0.clarku.edu/~achou/cs102/examples/bst_animation/RedBlackTree-Example.html
  • Skip list: http://iamwww.unibe.ch/~wenger/DA/SkipList/
  • 2-3-4 tree: http://www.cs.unm.edu/~rlpm/499/ttft.html

I found a list of different algorithms with their animations but many seem to require Animal (a software for showing them).

  • Animal Download Link: http://www.algoanim.info/Animal2/?q=taxonomy/term/7
  • Visualizations: http://www.animal.ahrgr.de/animations.php3?lang=e
like image 122
4 revs Avatar answered Oct 22 '22 07:10

4 revs


I found another good website (Interactive Visualisation). It contains visualisation for all the data structures.

http://www.cs.usfca.edu/~galles/visualization/Algorithms.html

Hope this helps.

like image 44
AlienOnEarth Avatar answered Oct 22 '22 07:10

AlienOnEarth


Wiki and google is your friend.

There is a program , LEDA, which you can write some code and animate the graphs, they do have some samples as well.

http://www.algorithmic-solutions.com/leda/

native language is C++ but you can port some java to it as well.

Moreover, Flex has several libraries on graphs, you can see their demos and samples.

like image 2
DarthVader Avatar answered Oct 22 '22 09:10

DarthVader


Skip list: http://iamwww.unibe.ch/~wenger/DA/SkipList/
2-3-4 tree: http://www.cs.unm.edu/~rlpm/499/ttft.html

like image 1
Jason Avatar answered Oct 22 '22 08:10

Jason