Visualizing Algorithms
Visualizing Algorithms
The best way to understand complex data structures is to see them in action. He (David Galles, Associate Professor, UNIVERSITY OF SAN FRANCISCO, Department of Computer Science) has developed interactive animations for a variety of data structures and algorithms. His visualization tool is written in javascript using the HTML5 canvas element, and run in just about any modern browser -- including Android and iOS devices like the iPhone and iPad, and even the web browser in the Kindle! (The frame rate is low enough in the Kindle that the visualizations aren't terribly useful, but the tree-based visualizations -- BSTs and AVL Trees -- seem to work well enough)Choose from the below list to visualize----
- Stack: Array Implementation
- Stack: Linked List Implementation
- Queues: Array Implementation
- Queues: Linked List Implementation
- Lists: Array Implementation (available in java version)
- Lists: Linked List Implementation (available in javaversion)
- Recursion
- Indexing
- Binary and Linear Search (of sorted list)
- Binary Search Trees
- AVL Trees (Balanced binary search trees)
- Red-Black Trees
- Splay Trees
- Open Hash Tables (Closed Addressing)
- Closed Hash Tables (Open Addressing)
- Closed Hash Tables, using buckets
- B Trees
- B+ Trees
- Sorting
- Comparison Sorting
- Bubble Sort
- Selection Sort
- Insertion Sort
- Shell Sort
- Merge Sort
- Quck Sort
- Bucket Sort
- Counting Sort
- Radix Sort
- Heap Sort
- Heap-like Data Structures
- Graph Algorithms
- Breadth-First Search
- Depth-First Search
- Connected Components
- Dijkstra's Shortest Path
- Prim's Minimum Cost Spanning Tree
- Topological Sort (Using Indegree array)
- Topological Sort (Using DFS)
- Floyd-Warshall (all pairs shortest paths)
- Kruskal Minimum Cost Spanning Tree Algorithm
- Dynamic Programming
- Geometric Algorithms
- 2D Rotation and Scale Matrices
- 2D Rotation and Translation Matrices
- 2D Changing Coordinate Systems
- 3D Rotation and Scale Matrices
- 3D Changing Coordinate Systems
- Others ...
- Disjoint Sets
- Huffman Coding (available in java version)
Comments
Post a Comment