所有项目

算法可视化工具

配合数据结构课程的可视化学习工具,让抽象的算法过程变得直观可见。

2026年4月1日 计划中 ReactTypeScriptCanvasAlgorithms

项目动机

这学期正在上数据结构课。老师在黑板上画图、在 PPT 里放动画,但自己写代码时总觉得和视觉画面隔了一层。冒泡排序到底是怎么”冒”的?归并排序的递归树长什么样?

纸上画图太慢,直接看代码又不够直观。于是想做一个工具:输入一组数据,选中一个算法,看着它一步步变化。

计划功能

  • 排序可视化 — 冒泡、选择、插入、归并、快速排序
  • 搜索可视化 — 二分查找
  • 图论入门 — BFS、DFS、Dijkstra
  • 速度控制 — 可调速度,支持单步执行
  • 随机/自定义数据 — 一键生成或手动输入

技术方案

用 React 管理 UI 和控制面板,Canvas API 渲染动画。每个算法实现为独立的纯函数,UI 层只负责调用和渲染。

这个项目目前还在构思和设计阶段。准备先从核心排序算法的动画逻辑开始实现。Canvas 的帧渲染会是第一个技术难点——需要精确控制每一步的延迟和颜色变化。

后续计划

完成后计划部署为独立子页面(如 rain-lab.com/lab/algo-visualizer),作为数据结构课程的配套学习工具。