From coolshell (from a website: data structure visualizations)
Do you still remember the previous article about visual sorting? On the Internet, I saw a home page for various visual data structures and basic algorithms by David galles from the University of San Francisco. The website is here for you to see. I listed the directory on this page below and translated it. You can click it directly.
I don't know if there are any teaching courseware related to education in China. At least I didn't have it in college.
Basic
- STACK: Array Implementation
- Stack: Linked List Implementation
- Queues queue: Array Implementation
- Queues queue: Linked List Implementation
- Lists List: Array Implementation (Java demo)
- Lists List: Linked List Implementation (Java demo)
Index
- Binary Search Trees Binary Search Tree
- AVL trees (balanced binary search tree)
- Red-black trees red-black tree (flash demo)
- Open hash tables open hash table (closed addressing link address method)
- Closed hash tables closed hash table (Open addressing)
- Closed hash tables and using buckets use buckets
- B trees B tree
- B + trees B + tree
Sort
- Comparison sorting comparative sorting
- Bubble sort Bubble Sorting
- Selection sort select sorting
- Insertion Sort insert sorting
- Shell sort Hill sorting
- Merge sort Merge Sorting
- Quck sort quick sorting
- Bucket sort bucket sorting
- Counting sort count sorting
- Radix sort base sorting
Heap Data Structure
- Heaps heap
- Binomial queues two-item queue
Graph Algorithm
- Breadth-first search
- Depth-first search deep Priority Search
- Connected components connectivity
- Dijkstra's shortest path Dijkstra shortest path
- Prim's minimum cost Spanning Tree Minimum Spanning Tree
- Topological Sort Topology Sorting (demonstration of the Flash version in Java)
- Floyd-warshall algorithm (an algorithm that solves the shortest path between any two points) (The Flash version demonstrates the Java version)
- Based onKruskalBuild the minimum algorithm spanning tree (demonstration of Java version in Flash version)
Dynamic Programming
- Calculate the number of Fibonacci instances (Java demo)
Others...
- Disjoint Sets)
- Huffman coding)