@btwiambot: 如果你在学习技术,停止死记硬背,开始通过视觉来理解。这些网站通过让你看到实际运作方式来帮助你学习……
摘要
一条推荐技术视觉学习网站的推文,包括 VisuAlgo、NeetCode、LeetCode、Excalidraw、Kaggle、3Blue1Brown 和 roadmap.sh,适用于数据结构与算法、机器学习和编程练习。
查看缓存全文
缓存时间: 2026/06/10 23:59
如果你正在学习技术,别再死记硬背了,试试用视觉化的方式去理解。
以下这些网站能帮你通过“看”到原理,真正掌握知识——涵盖数据结构与算法、解题模式、机器学习直觉、编程练习以及学习路线图:
VisuAlgo – https://visualgo.net(通过逐步动画理解DSA概念)
NeetCode – https://neetcode.io(解题模式与面试准备)
LeetCode – https://leetcode.com(编程练习 + 讨论)
Excalidraw – https://excalidraw.com(快速绘制和可视化思路/架构)
Kaggle – https://kaggle.com(通过数据集和笔记本动手实践机器学习)
3Blue1Brown – https://3blue1brown.com(数学和机器学习的深度视觉直觉)
http://roadmap.sh – https://roadmap.sh(结构化的技术技能可视化学习路径)
通过动画可视化数据结构与算法
来源:https://visualgo.net/en
7 (https://www.comp.nus.edu.sg/~stevenha) VisuAlgo.net (https://visualgo.net/) / Login (https://visualgo.net/login)
VisuAlgo.net/en
NUS Computing (https://www.comp.nus.edu.sg/features/2020stevenhalim/)
专题文章:一键可视化算法 (https://www.comp.nus.edu.sg/features/2020stevenhalim/)
专题博客:将尽可能多的静态计算机科学教材示例转化为等效的VisuAlgo动画 (https://www.comp.nus.edu.sg/~stevenha/cs_textbooks_animated.html)
Optiver (https://optiver.com/)
VisuAlgo项目继续由Optiver资助(始于2023年中,持续至2026年中及可能更久)。2026年扩展项目的重点是探索新的信息可视化技术,或许包括AI辅助。(https://optiver.com/)
CPbook (https://cpbook.net/) | lulu (https://www.lulu.com/spotlight/stevenhalimatgmaildotcom)
- 请稍候 (https://visualgo.net/en/array) cs1010 it5003 cs2040 cs3230 cs3233
- 请稍候 (https://visualgo.net/en/sorting) array algorithm bubble select insert selection insertion merge quick randomized quick counting radix sort cs1010 it5003 cs2040 cs3230 list data structure sorting
- 请稍候 (https://visualgo.net/en/bitmask) bit manipulation set cs3233 array list ds data structure bitmask
- 请稍候 (https://visualgo.net/en/list) stack queue doubly deque it5003 cs2040 array ds data structure linked
- 请稍候 (https://visualgo.net/en/heap) priority queue recursive it5003 cs2040 recursion ds data structure binary heap
- 请稍候 (https://visualgo.net/en/hashtable) open addressing linear quadratic probing it5003 cs2040 ds data structure
- 请稍候 (https://visualgo.net/en/bst) adelson velskii landis set table avl it5003 cs2040 recursion recursive ds data structure set bst binary search tree priority queue
- 请稍候 (https://visualgo.net/en/graphds) tree complete bipartite dag it5003 cs2040 graph ds data structure
- 请稍候 (https://visualgo.net/en/ufds) path compression disjoint set data structure union by rank cs2040 cs3233 array tree find ds
- 请稍候 (https://visualgo.net/en/fenwicktree) binary indexed tree bit dynamic fenwick range sum point update cs3233 binary ds data structure
- 请稍候 (https://visualgo.net/en/segmenttree) dynamic range sum min max cs3233 segment tree ds data structure
- 请稍候 (https://visualgo.net/en/recursion) dynamic programming dp generic cs1010 it5003 cs2040 cs3233 cs4234 recursive algorithm recursion tree dag
- 请稍候 (https://visualgo.net/en/dfsbfs) bfs dfs it5003 cs2040 bipartite scc cut vertex articulation point bridge cs2020 graph algorithm
- 请稍候 (https://visualgo.net/en/mst) mst prim kruskal graph min spanning cs2040 tree algorithm
- 请稍候 (https://visualgo.net/en/sssp) sssp single-source bfs dijkstra bellman ford it5003 cs2040 single source shortest path graph algorithm
- 请稍候 (https://visualgo.net/en/cyclefinding) floyd tortoise-hare math cs3233 algorithm
- 请稍候 (https://visualgo.net/en/suffixtree) string matching lrs lcs cs3233 suffix tree ds data structure
- 请稍候 (https://visualgo.net/en/suffixarray) lcp cs3233 matching lrs lcs suffix array string ds data structure
- 请稍候 (https://visualgo.net/en/polygon) convex cut winding concave cs3233 computational geometry algorithm
- 请稍候 (https://visualgo.net/en/convexhull) andrew monotone chain graham scan jarvis march cs3233 computational geometry algorithm
- 请稍候 (https://visualgo.net/en/maxflow) max flow edmonds karp min cut dinic ford fulkerson graph cs3233 cs4234 algorithm
- 请稍候 (https://visualgo.net/en/matching) augmenting path bipartite graph cs3233 cs4234 matching algorithm
- 请稍候 (https://visualgo.net/en/mvc) np-hard graph bipartite tree tree dp bipartite matching max flow cs3233 cs4234
- 请稍候 (https://visualgo.net/en/steinertree)
- 请稍候 (https://visualgo.net/en/tsp) np-hard graph dp mst cs3233 cs4234
- 请稍候 (https://visualgo.net/en/reductions)
关于
✕
VisuAlgo 最初由 Steven Halim 副教授于 2011 年构想,旨在通过提供一个自定进度的交互式学习平台,帮助学生更深入地理解数据结构和算法。
VisuAlgo 展示了 Dr. Steven Halim 所著《Competitive Programming》(与 Dr. Felix Halim 和 Dr. Suhendry Effendy 合著)中讨论的诸多高级算法。即使十年后,VisuAlgo 仍然是可视化其中几种复杂算法的唯一平台。
虽然 VisuAlgo 主要为新加坡国立大学(NUS)选修各种数据结构和算法课程(例如 CS1010/同等课程、CS2040/同等课程(包括 IT5003)、CS3230、CS3233 和 CS4234)的学生设计,但它也是全球求知者的宝贵资源,促进了在线学习。
最初,VisuAlgo 并非为智能手机等小触摸屏设计,因为复杂的算法可视化需要大量的像素空间和点击拖动交互。为了获得最佳用户体验,建议最低屏幕分辨率为 1366x768。不过,自 2022 年 4 月起,VisuAlgo 的移动(精简)版本已推出,使得在智能手机屏幕上使用 VisuAlgo 的部分功能成为可能。
VisuAlgo 仍在完善中,更复杂的可视化功能正在持续开发。目前,该平台拥有 24 个可视化模块。
VisuAlgo 内置了“在线测验系统”,配备随机出题器和答案验证器,使学生能够测试自己对基本数据结构和算法的掌握程度。问题根据特定规则随机生成,学生提交答案后由评分服务器自动评分。随着越来越多计算机科学教师全球范围内采用此在线测验系统,它可能有效消除许多大学标准计算机科学考试中的手动基本数据结构和算法题目。通过为通过在线测验分配较小的(但非零)权重,计算机科学教师可以显著提高学生对这些基本概念的掌握程度,因为他们在参加在线测验之前可以接触到几乎无限量的练习题,并即时验证答案。每个 VisuAlgo 可视化模块现在都包含自己的在线测验组件。
VisuAlgo 已被翻译成三种主要语言:英语、中文和印尼语。此外,我们还编写了关于 VisuAlgo 的公开笔记,涵盖多种语言,包括印尼语、韩语、越南语和泰语:
id (https://www.facebook.com/notes/steven-halim/httpidvisualgonet-visualisasi-struktur-data-dan-algoritma-dengan-animasi/10153236934439689),
kr (http://blog.naver.com/visualgo_nus),
vn (https://www.facebook.com/groups/163215593699283/permalink/824003417620494/),
th (http://pantip.com/topic/32736343).
团队
✕
项目负责人与顾问(2011年7月至今)
Steven Halim 副教授 (https://www.comp.nus.edu.sg/~stevenha/),新加坡国立大学计算学院
Felix Halim 博士 (https://www.linkedin.com/in/felixhalim/),Google(山景城)高级软件工程师
本科生研究员 1
CDTL TEG 1:2011年7月 - 2012年4月:Koh Zi Chun, Victor Loh Bo Huai
毕业设计/UROP学生 1
2012年7月 - 2013年12月:Phan Thi Quynh Trang, Peter Phandi, Albert Millardo Tjindradinata, Nguyen Hoang Duy
2013年6月 - 2014年4月:Rose Marie Tan Zhao Yun (https://www.rosemarietan.com/), Ivan Reinaldo
本科生研究员 2
CDTL TEG 2:2014年5月 - 2014年7月:Jonathan Irvin Gunawan, Nathan Azaria, Ian Leow Tze Wei, Nguyen Viet Dung, Nguyen Khac Tung, Steven Kester Yuwono, Cao Shengze, Mohan Jishnu
毕业设计/UROP学生 2
2014年6月 - 2015年4月:Erin Teo Yi Ling, Wang Zi
2016年6月 - 2017年12月:Truong Ngoc Khanh, John Kevin Tjahjadi, Gabriella Michelle, Muhammad Rais Fathin Mudzakir
2021年8月 - 2023年4月:Liu Guangyuan, Manas Vegi, Sha Long, Vuong Hoang Long, Ting Xiao, Lim Dewen Aloysius
本科生研究员 3
Optiver:2023年8月 - 2023年10月:Bui Hong Duc, Tay Ngan Lin
毕业设计/UROP学生 3
2023年8月 - 2024年4月:Xiong Jingya, Radian Krisno, Ng Wee Han, Tan Chee Heng
2024年8月 - 2025年4月:Edbert Geraldy Cangdinata, Huang Xing Chen, Nicholas Patrick
贡献超过 100 条翻译的译者名单可在统计页面 (https://visualgo.net/statistics) 找到。
致谢
NUS CDTL (https://nus.edu.sg/cdtl) 提供了教学增强资助来启动该项目。
2023/24 学年至今(目前为 2025/26 学年),Optiver 的慷慨捐赠将用于进一步开发 VisuAlgo。
使用条款
✕
VisuAlgo 免费提供给全球计算机科学社区。如果您欣赏 VisuAlgo,我们恳请您向其他计算机科学学生和教师宣传它的存在。您可以通过社交媒体平台(例如 Facebook、YouTube、Instagram、TikTok、Twitter 等)、课程网页、博客评论、电子邮件等方式分享 VisuAlgo。
欢迎数据结构和算法(DSA)的学生和教师直接在本网站上进行教学。如果您从此网站截取屏幕截图或录制视频,只要注明本网站的 URL(https://visualgo.net/)和/或下面列出的出版物作为参考,则可以自由在其他地方使用。但请勿下载 VisuAlgo 的客户端文件并将其托管在您自己的网站上,因为这构成抄袭。目前,我们不允许其他人分叉此项目或创建 VisuAlgo 的变体。个人在离线状态下使用 VisuAlgo 的客户端副本是可以接受的。
请注意,VisuAlgo 的在线测验组件包含强大的服务器端元素,因此将服务器端脚本和数据库保存到本地并不容易。目前,公众只能通过“练习模式”访问在线测验系统。“测试模式”提供了一个更受控的环境,用于在 NUS 的实际考试中使用随机生成的问题和自动验证。
出版物列表
这项工作曾在 ICPC World Finals 2012(波兰华沙)的 CLI 研讨会和 IOI 2012(意大利西尔米奥内-蒙蒂基亚里)的 IOI 会议上展示。您可以点击此链接 (https://ioinformatics.org/journal/INFOL099.pdf) 阅读我们 2012 年关于该系统的论文(2012 年尚未被称为 VisuAlgo),并点击此链接 (https://ioinformatics.org/journal/v9_2015_243_245.pdf) 阅读 2015 年的简短更新(将 VisuAlgo 名称与之前的项目联系起来)。
错误报告或请求新功能
VisuAlgo 尚未完成。Steven Halim 副教授仍在积极改进 VisuAlgo。如果您在使用 VisuAlgo 时发现任何可视化页面/在线测验工具中的错误,或者如果您想请求新功能,请联系 Steven Halim 副教授。他的联系方式是他的姓名拼接加上 gmail dot com。
隐私政策
✕
版本 1.2(更新于 2023 年 8 月 18 日星期五)。
自 2023 年 8 月 18 日星期五起,我们不再使用 Google Analytics。因此,我们现在使用的所有 cookie 仅用于本网站的正常运行。即使对于首次访问者,烦人的 cookie 同意弹窗现在也已关闭。
自 2023 年 6 月 7 日星期五起,感谢 Optiver 的慷慨捐赠,世界上任何人都可以自行创建 VisuAlgo 帐户来存储一些自定义设置(例如布局模式、默认语言、播放速度等)。
此外,对于 NUS 学生,通过使用 VisuAlgo 帐户(包含 NUS 官方电子邮件地址、班级花名册中的学生姓名以及在服务器端加密的密码——不存储其他个人数据),您同意您的课程讲师跟踪您的电子讲座幻灯片阅读和在线测验练习进度,这是课程顺利进行所必需的。您的 VisuAlgo 帐户还将用于参加 NUS 官方的 VisuAlgo 在线测验,因此将您的帐户凭据交给他人代做在线测验构成学术违规行为。除非您选择保留您的帐户(OPT-IN),否则您的用户帐户将在课程结束后被清除。对完整 VisuAlgo 数据库(包含加密密码)的访问权限仅限于 Halim 教授本人。
对于全球其他已联系 Steven 的计算机科学教师,需要 VisuAlgo 帐户(您的(非 NUS)电子邮件地址,您可以使用任何显示名称和加密密码)来将您的在线凭据与全球其他人区分开来。您的帐户将具有计算机科学教师特有的功能,即能够查看隐藏的幻灯片,其中包含前面幻灯片中问题的(有趣的)答案。您还可以访问 VisuAlgo 在线测验的困难设置。您可以自由使用这些材料来增强您的数据结构和算法课程。请注意,将来可能还会增加其他计算机科学教师特有的功能。
对于任何拥有 VisuAlgo 帐户的用户,如果您希望不再与 VisuAlgo 工具关联,您可以自行删除自己的帐户。
相似文章
@tom_doerr: 24种算法的交互式逐步可视化 https://github.com/TamimEhsan/AlgorithmVisualizer…
一个基于Web的交互式工具,可逐步可视化24种算法,涵盖寻路、排序、递归等,使用React构建。
@techwith_ram:Andrew Ng 展示 AI 如何改变软件开发。不再是手写代码,而是描述你的想法…
Andrew Ng 强调 AI 正将软件开发从编码转向通过提示词进行清晰沟通。作者分享了使用 VS Code、Kombai 和 GitHub 等 AI 工具构建 web 应用的经验。
@heynavtoor: 10个免费资源,在30天内让你学到比15000美元训练营更多的AI知识。收藏这份清单。1. 3Blue1Brown…
一份精心整理的10个免费AI学习资源清单,包括课程、新闻通讯、播客和互动书籍,来自3Blue1Brown、Andrej Karpathy、Andrew Ng等专家。
@DivyanshT91162: 人们放弃机器学习的原因只有一个:打开一个笔记本……看到200行公式……突然觉得每个教程都像博士论文一样。
文章重点介绍了一个开源代码库,该代码库使用 Jupyter 笔记本从基本原理重新构建经典的机器学习算法,并提供逐步可视化,帮助学习者理解底层机制,而不仅仅是复制代码。
@tom_doerr:从第一性原理可视化机器学习算法 https://github.com/gavinkhung/machine-learning-visualized…
本文介绍了 Machine Learning Visualized,这是一个 Jupyter Book 和交互式平台,它从第一性原理出发,通过可视化方式实现和推导机器学习算法。