凌晨一点,屏幕上还亮着那道动态规划。题解翻来覆去看了三遍——每个字都认识,连起来就是不知道它在干什么。状态怎么转移的?这个 dp[i][j] 到底是从哪来的?脑子里全是问号。

说实话,我也是这么过来的。 不是那种一眼就能看穿算法本质的大佬,每次刷题都卡在"题解看懂了字,却没真正看懂思路"这一步。后来我尝试用 AI 帮自己拆解推理过程,发现有帮助,但光靠文字还是不够——我需要亲眼看到每一步到底发生了什么。

于是就有了 Bare Algo(朴素算法)。这是一个开源的交互式算法可视化平台,把算法的每一步推演变成可以播放、暂停、步进、拖拽的逐帧动画。DP 状态怎么填表、BFS 怎么一层层扩散、回溯在哪里剪枝——不用脑补了,按下播放键,看着它一帧帧跑给你看。


🚀 立即体验(欢迎 Star ⭐)

👉 在线访问barealgo.com
GitHub 仓库Harvey-Andrew/bare-algorithm


为什么它值得关注?

Bare Algo 覆盖了 23 个算法分类——数组、链表、二叉树、图论、动态规划、位运算、单调栈、线段树、并查集……几乎满足从入门到进阶的全部刷题需求。更重要的是,它不仅教你"怎么做",还通过真实业务 Demo(如账号合并检测、课程依赖分析)展示算法在实际场景中的应用,帮助你真正将算法思维内化为工程能力。

✨ 三大核心亮点

  • 🎬 逐帧可视化播放器 — 支持多倍速(0.5x–4x)、进度拖拽、代码同步高亮,播放到哪一帧,对应代码行自动亮起,帧消息实时更新,彻底告别"不知道执行到哪了"。

  • 🔀 多解法一键对比 — 同一道题(如岛屿数量)支持 DFS / BFS / 并查集等多种模式一键切换,直观对比不同算法的思路差异与时空复杂度表现。

  • 📱 全平台响应式体验 — 移动端竖屏悬浮条 + 抽屉、桌面端 7:5 双栏布局,配合自动缩放容器 ScaleToFit,无论手机还是大屏都能流畅使用。

🗺️ 项目架构一览

📝 AlgorithmConfig
算法配置

⚙️ generateFrames()
帧生成函数

🎞️ Frame[]
快照序列

🖥️ GenericVisualizer
通用渲染引擎

▶️ 交互式播放器
播放/暂停/步进/拖拽

每个算法都是一个自包含模块,只需定义配置、帧生成逻辑和渲染组件,即可无缝接入平台——这也意味着任何人都可以轻松贡献新题目。

如果你也认同"看动画学算法"这件事,欢迎提 PR 贡献新题目,或在讨论区分享你的解题思路。 你的每一次参与,都在帮助更多人跨过算法这道门槛。

“算法不该只是面试的门槛,它应该被所有人看见和理解。”

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐