Visualizations developed by : David Galles 

The  best way to understand complex data structures is to see them in  action.  We've developed interactive animations for a variety of data  structures and algorithms.  Our visualization tool is written in Java  using Swing, and runs well under OS X, most flavors of Linux, and most flavors of Windows.

Currently, we have visualizations for the following data structures and algorithms:

  • 1. Stacks (both array and linked list implementations)
  • 2. Queues (both array and linked list implementations)
  • 3. Lists (both array and linked list implementations.  Visitors are   also demonstrated)
  • 4. Binary Search Trees
  • 5. AVL Trees
  • 6. B-Trees
  • 7.Heaps
  • 8.Binomial Queues
  • 9.Hash Tables
    • -Separate Chaining (Open Hashing, Closed Addressing)
    • -Closed Hashing (Open Addressing) -- including linear probling, quadratic probing, and double hashing.
    • -Both integers and strings as keys (with a nice visualziation of   elfhash for strings)
  • 10.Sorting Algorithms
    • -Bubble Sort
    • -Selection Sort
    • -Insertion Sort
    • -Shell Sort
    • -Merge Sort
    • -Quck Sort
    • -Heap Sort
    • -Counting Sort
    • -Bucket Sort
    • -Radix Sort
  • 11.Huffman Coding
  • 12.Graph Alogrithms
    • -Dijkstra's Algorithm
    • -Prim's Algorithm
    • -Kruskals Algorithm (including a visualization of disjoint sets)
    • -Breadth-First Search
    • -Depth-First Search
    • -Connected Components
    • -Topological Sort
    • -Floyd-Warshall (all pairs shortest paths)
  • 13. Dynamic Programming
    • -Calculating nth Fibonacci number
    • -Making Change

Downloads 
Current version: 1.05

  • visualization.jar Everything you need in a handy java .jar file
    (If your browser is confused by the .jar extension, then right click, choose "save as", and save to your local machine)
  • Source code:   projects.tar.gz All wrapped up in a tar'ed gzipped file. WARNING!  This code can be a  little confusing, and the algorithms are obscured by the  visualizations. Do not look at the source to understand the algorithms!

How to use the visualizations:

OS X
  • Download to your local machine, and then double-click on the downloaded file.  As with most Mac things, it just works.
  • Linux
    Download  to your local machine. From the directory where you've downloaded the  file, type "java -jar visualization.jar". Assuming that java is  correctly installed on your machine and your CLASSPATH and such are set  up correctly, this should work just fine.  In most distributions  (redhat/etc), there don't seem to be any problems.
  • Windows
    Download  to your local machine, and then double-click on the downloaded file.   As with most Windows things, it seems to work most   of the time :)
Next
Newer Post
Previous
This is the last post.
Axact

Axact

Vestibulum bibendum felis sit amet dolor auctor molestie. In dignissim eget nibh id dapibus. Fusce et suscipit orci. Aliquam sit amet urna lorem. Duis eu imperdiet nunc, non imperdiet libero.

Post A Comment:

0 comments: