数据结构算法可视化
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)
布隆过滤器(Bloom Filter)
Raft协议