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:
Downloads
Current version: 1.05
How to use the visualizations:
OS X
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 :)
Post A Comment:
0 comments: