Animation

Animation Overview

Title Author(s) Topic(s) Animation WebStart
(Singly) Linked Lists André Flöper Data Structures,
List Structures
--- ---
A Genetic Algorithm David Lopez Algorithms,

Animal Animation Repository

Welcome to the Animal Animation Repository!

This repository provides a quick overview of the currently hosted algorithm and data structure animations available for the Animal algorithm animation system.

Please note that there are far more animations actually available than can be shown here - simply due to the fact that each run of one of the built-in generators will create a new (and possibly unique) animation. The entries in this repository are mainly meant to illustrate the uses possible for Animal to "whet your appetite".

Data Structure Animations: Lists

Lists are an easy common data structure used in Computer Science. A list can contain an arbitrary number of elements, can shrink or grow at runtime, and offers linear iteration over the elements. Typically, each list element has a value and at least a pointer to the next list element (unless the element is the last list element, in which case the pointer will be null).

Variants of the lists, such as the doubly linked list, have more than one pointer, e.g. to the preceding element or to the element that is n positions further "down" the list.

Data Structure Behavior Animations

The repository hosts a number of animations that focus on presenting the typical behavior of common data structures used in a Computer Science context.

The data structures currently covered are:

Exporting images from Animal animations

With this small extension, you can export any part of a given Animal animation as a (set of) image(s)! To do so, follow these simple steps:

  1. Download the archive imageExport.zip attached to this blog entry to the path where you installed Animal.
  2. Unzip the file. This should generate a new file in the subdirectory animal/exchange/ImageSequenceExporter.class
  3. Download the archive JimiProClasses.zip attached to this blog entry.
  4. Copy the (uncompressed) ZIP file into your CLASSPATH.

Generator for Searching and String Searching Algorithms available

Download Searching.jar, an optional generator for searching and string searching algorithms. This generator can currently handle the following algorithms:

  • Brute-force Search
  • Binary Search
  • Interpolated Search
  • Brute-Force Search in Strings
  • Knuth, Morris, and Pratt Search (KMP) in Strings
  • Boyer-Moore Search in Strings.

Please note that this generator is currently only available in German!

Download of all available animations as a ZIP file

You can also download the current collection of pregenerated English Animal animations -- also available in German.

After unzipping the animation archive, the files can be loaded in Animal using the "Open" button or menu entry. Make sure you remember where you unzipped the archive to find the animations...

Welcome to the Forum for Content Questions!

Welcome to the Forum for Content Questions!

This forum is meant to address all questions that center of Animal-based content, e.g. mistakes in animations, requests for new content, ...

Doubly Linked Lists

dLinkedList1

This animation presents the data structure doubly linked list. Doubly linked Lists consists of a reference to the first list element, the so-called head. List elements, on the other hand, contain a value – usually an object – as well as references to their predecessor and successor.

The animation shows the insertion and deletion of list elements at the list start, end, or middle. It also shows some typical error causes in assignments.

All operations are described in text.

Singly Linked Lists

Deleting an inner list element

This animation presents the structure of and operations on data structure (singly) linked list is presented. A simple linked list consists only of the pointer to the first list element (if there is one), the so-called head.

Each list element contains a value and a pointer to the first list element.

The animation illustrates the insert and delete operation of list elements, as well as some of the mistakes that can be made and their consequences.

Syndicate content