数据结构算法可视化
MIT官方教材
返回主页
返回博客
当前已经可视化了以下数据结构和算法:
基础
栈: 数组实现
栈: 链表实现
队列: 数组实现
队列: 链表实现
递归
阶乘
反转字符串
N-皇后问题
索引
二分查找与线性查找 (基于已排序的列表)
二分查找树 (
B
inary
S
earch
T
ree)
AVL树 (自平衡二分查找树)
红黑树 (Red-Black Tree)
伸展树 (Splay Tree)
跳表 (Skip List)
哈希表 (拉链法)
哈希表 (开放定址法)
哈希表 (分桶法,公共溢出区)
Trie (前缀树, 26进制树)
Radix Tree (紧凑前缀树)
三元搜索树 (Trie with BST of children)
B树
B+树
KD树
字符串
字符串匹配算法
字符串匹配算法: BoyerMoore
字符串匹配算法:
K
nuth-
M
orris-
P
ratt
哈夫曼编码 (Huffman)
排序
基于比较的排序
冒泡排序
选择排序
插入排序
希尔排序
归并排序
快速排序
桶排序
计数排序
基数排序
堆排序
Heap-like Data Structures
堆 (Heap)
二项队列 (Binomial Queues)
斐波那契堆
左堆 (Leftist Heaps)
斜堆 (Skew Heaps)
图算法
广度优先搜索 (
B
readth-
F
irst
S
earch)
深度优先搜索 (
D
epth-
F
irst
S
earch)
连通图 (Connected Components)
Dijkstra最短路径
Prim最小生成树 (Prim's Minimum Cost Spanning Tree)
拓扑排序 (基于 Indegree array)
拓扑排序 (基于 DFS)
弗洛伊德最短路径 Floyd-Warshall (all pairs shortest paths)
Kruskal最小生成树 (Kruskal Minimum Cost Spanning Tree Algorithm)
动态规划 (Dynamic Programming)
计算第n个斐波那契数
Making Change
最长公共子串
几何算法
2D旋转缩放
2D旋转平移
2D变换坐标系
3D旋转缩放
3D变换坐标系
其他 ...
并查集 (Disjoint Sets)