互联网上把"抽象数据结构"做成动画的网站已经很成熟了,按使用场景给你分层推荐:
一、全能型:学数据结构/算法首选
-
VisuAlgo (https://visualgo.net/zh )
最经典。覆盖数组、链表、栈队列、哈希表、BST/AVL、堆、图(BFS/DFS/Dijkstra/MST/网络流)、并查集、线段树、树状数组等。
特点:分步动画 + 伪代码高亮 + 可自己输数据 + 自带小测验,有中文。
-
USFCA Data Structure Visualizations (http://www.cs.usfca.edu/~galles/visualization/Algorithms.html )
旧金山大学维护,界面朴素但极清晰。
适合看:红黑树旋转、AVL平衡、B树分裂、堆调整、哈希冲突处理。
-
DSAverse (https://dsa-verse.vercel.app/ )
现代UI,95+可视化模块。递归、滑动窗口、DP、Trie、B+树、OS/DB内部机制都有,带复杂度速查。
二、看"自己代码怎么跑":指针/递归神器
-
Python Tutor (https://pythontutor.com/ )
粘入 Python/Java/C/C++/JS 代码,单步执行,把变量、对象、指针、调用栈画成框和箭头。
最适合:链表反转、树递归、闭包、引用错乱调试。
-
Algorithm Visualizer (https://algorithm-visualizer.org/ )
代码和动画绑定,改代码看轨迹,开源可扩展。
三、专项场景
-
排序算法对比
-
Toptal Sorting:https://www.toptal.com/developers/sorting-algorithms (随机/逆序/重复数据对比)
-
sorting.at:黑科技视觉风格
-
-
路径搜索:Clement 的 Pathfinding Visualizer(画墙看 A*/Dijkstra/BFS)
-
图结构编辑:CS Academy Graph Editor(手动画图导出用例)
-
静态示意图:diagrams.net、Mermaid.js、Graphviz(写文档/做笔记用)
四、怎么用效率最高(别只"看")
-
先想一步:下一步会交换谁、指针怎么指,再点"step"
-
故意造脏数据:空、重复、逆序、只剩1个元素
-
看完关掉网页,徒手写插入/删除/遍历
-
自己代码用 Python Tutor 跑一遍,对照动画查理解偏差