What is it about

Keywords: Algorithm animation, Visualization, Data Structures

Astral is a programming environment for the production of algorithm and data structure animations focused on teaching. This environment was initially developed between 1995-1997 in the Institute of Computing at UNICAMP (State University of Campinas) for MacOS. Between 2001-2003, it was ported to MS-Windows and extended.

The use of Astral in undergraduate courses proved to be a valuable especially in teaching programming and algorithms.

Key Benefits

bullet animation of data structures;
bullet visual feedback of algorithms in operation;
bullet sorting algorithm comparison;
bullet visual feedback of the application of Euler operators;
bullet saving and loading graphs;
bullet control over visualization delay.


bullet You may read about Astral in:
  1. This paper: I. C. Garcia, P. J. de Rezende, F. C. Calheiros. Astral: Um Ambiente para Ensino de Estruturas de Dados através de Animações de Algoritmos. Revista Brasileira de Informática na Educação, Florianópolis, SC, v. 1, p. 71-80, 1997.

What is available

Animations of the following data structures are available: Arrays, Linked Lists, Doubly Linked Lists, Binary Search Trees, AVL Trees, B Trees, Hash Tables.

Moreover, animations of the following algorithms have also been implemented: Sorting (Heap Sort, Insertion Sort, Merge Sort, Quick Sort, Selection Sort, Shell Sort), String Alignments, and Operations on Grammars.

Furthermore, a Graph Editor and algorithms for several graph theoretical problems are available. Among these: Depth First Search, Breadth First Search, Topological Sorting, Minimum Cost Spanning Tree (Kruskal & Prim), Shortest Paths (Dijkstra), Maximum Flow Network (Ford-Fulkerson), Matching (on bipartite graphs).

A number of applications are available. See below.

License Terms

bullet License

Astral's applications are available for MS-Windows and are distributed as free software. These programs are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


bullet Executable version of the following applications can be downloaded:
Applications Data files Remarks
Array Array.txt Operations on an array.
LinkedList List.txt Operations on linked lists.
DoublyLinkedList Operations on doubly linked lists.
BinarySearchTree BinarySearchTree.txt Operations on Binary Search Trees.
AVLTree AVLTree.txt Operations on AVL Trees.
BTree BTree.txt Operations on B Trees.
Hash Hash.txt Operations on Hash Tables.
Sort - Sorting algorithms.
Alignments - Algorithms for alignment of strings.
Grammar Grammar1.txt Operations on grammars.


Create your own graph!

Graph Editor and several algorithms on directed and undirected graphs.

Contact Information

If you have questions not answered in these pages, feel free to contact us. However, we should point out that all the documentation we have available is posted here as soon as it becomes available.

People involved
  • Fábio P. Selmi-Dei
  • Felipe C. Calheiros
  • Islene C. Garcia
  • Pedro J. de Rezende
  • Electronic mail
    General Information:
    Postal address
    Institute of Computing, UNICAMP, Campinas SP, Brazil
    +55 19 3521-5860
    +55 19 3521-5847


    (c) 1998-2008 Pedro J. de Rezende. Last modified: 2008.08.06.