原理 · 代码 · 动画
数据结构可视化教程
学习数据结构的 12 个交互课程,包括数组、单链表、栈、循环队列等内容。结合原理、执行步骤、代码和动画理解实现过程。
数据结构12 个课程
数组
按连续下标读取数据,插入和删除时移动后续元素。
单链表
节点保存数据和 next 指针,通过链接组织顺序。
栈
在栈顶压入和弹出元素,遵循后进先出。
循环队列
使用 head、size 和环形槽位实现先进先出。
哈希表
根据哈希值定位桶,使用链式结构处理冲突。
二叉搜索树
左子树值小于节点,右子树值大于节点。
最小堆
完全二叉树的父节点不大于孩子,堆顶保存最小值。
双端队列
使用双向链接,在队首和队尾分别插入或移除节点。
并查集
通过代表节点管理集合,使用按大小合并和路径压缩。
字典树
复用字符串的公共前缀,用词尾标记区分完整单词。
树状数组
利用 lowbit 管理累计区间,实现单点增量与前缀查询。
图
使用邻接表保存节点关系,逐条加入无向边。