The Java version of these visualziations are no longer being maintained. Check out the javascript versions, which will run in almost any browser, right here! Data Structure Visualizations The best way to understand complex data structures is to see them inaction. We've developed interactive animations for a variety of datastructures and algorithms. Our visualization tool is written in Java usingSwing, and runs well under OS X, most flavors of Linux, and mostflavors of Windows.
Currently, we have visualizations for the following data structuresand algorithms:
- Stacks (both array and linked list implementations)
- Queues (both array and linked list implementations)
- Lists (both array and linked list implementations. Visitors are also demonstrated)
- Binary Search Trees
- AVL Trees
- B-Trees
- Heaps
- Binomial Queues
- 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)
- Sorting Algorithms
- Bubble Sort
- Selection Sort
- Insertion Sort
- Shell Sort
- Merge Sort
- Quck Sort
- Heap Sort
- Counting Sort
- Bucket Sort
- Radix Sort
- Huffman Coding
- 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)
- Dynamic Programming
- Calculating nth Fibonacci number
- Making Change
