算法与计算机科学cs.usfca.edu编辑精选
数据结构可视化
Data Structure Visualizations
2011 — 2021,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
旧金山大学 David Galles 教授制作的数据结构与算法交互式可视化网站,涵盖 B 树、红黑树、排序、图算法等,可逐步操作观察其运行过程。该站自 2011 年起多次登上 HN 首页,是学习算法的经典辅助工具。
为什么经久不衰:抽象的算法通过动画交互变得直观,无论初学还是面试前复习都极其实用,因此十年来反复被推荐。
HN 评论精选
学生证实该网站对学习数据结构非常有帮助
我刚上完数据结构课(几天前刚考完期末),整个学期都在重度使用这个网站!B 树和红黑树的可视化简直是无价之宝。
lelandbatey查看英文原文
As someone who just finished a datastructre class (as in had my final just a few days ago) I used the heck out of this site all semester long! The visualization for B-trees and Red/black trees was totally invaluable!
可视化让抽象算法直观,也适合面试复习
我从这位教授那里上算法课的时候,这个网站很有价值。像归并排序和 B+ 树索引,只看一段 Java 代码会显得非常抽象。如果需要为求职面试复习算法,这些可视化更加有用。
capkutay查看英文原文
This was pretty valuable when I took algorithms from this professor. Things like mergesort and indexing in B+ trees can seem very abstract when you try to learn it via a snippet of java code. These visualizations are even more useful if you need a refresher on algorithms for job interviews.
呼吁把可视化内建到编程环境中,让机器替人承担记忆负担
我梦想有一个世界:我写表达式的地方都内置这种可视化。这很难实现,但我们迫切需要。Bret Victor 最近为此做了很多呼吁,实至名归。我们很容易忘记,为了理解代码,脑子里要记住多少东西——而为什么要这样?很多工作本可以也应该由机器完成,让我们专注于真正想要的东西。但上下文、不同执行环境等需求,让通用方案很难实现。最近我越来越觉得,比起代码本身,我更关心这个问题。
gavinpc查看英文原文
I dream of a world where this is built in everywhere that I write expressions. It's so hard, and we desperately need it. Bret Victor has called a lot of attention to this lately, and rightly so. It's easy to forget how much we have to remember inside our heads just to work with code. And why? Much of this work could and should be done by the machine, which would free us to focus on what we want. But the need for context, different execution environments, etc, all make this difficult to tackle generally. More and more lately, I find that I'm interested in this problem more than the code itself.
分享一个可单步回放、带伪代码高亮的红黑树可视化工具
我写了一个网站 http://gregfjohnson.com/redblackbuilder.html,把交互式算法可视化又推进了一步。欢迎大家体验并反馈。它专门针对红黑树,插入和删除时可以单步前进或后退,看到每一步的树操作,也可以一次执行完整个操作。还附有插入和删除的伪代码,每一步会高亮当前执行的代码行。我考虑以后加入其他数据结构算法。
gregfjohnson查看英文原文
I wrote a web site http://gregfjohnson.com/redblackbuilder.html that takes interactive algorithm visualization another step. I would be delighted and appreciative if people go check it out and provide thoughts and feedback. IMHO It is fun and informative to play with, and a great tool for learning the algorithms. It is specific to red-black trees, but I am considering adding other data structure manipulation algorithms as well. On insert and delete, you can single-step forward and backward and see the tree manipulations at each step. Or, you can do the entire operation at once. There is pseudo-code for insert and delete, and at each forward or backward step the line of code being executed is highlighted.
历次讨论
同类还值得读
位运算技巧集
Bit Twiddling Hacks
斯坦福页面上的经典位运算技巧合集,收录了 popcount、前导/尾随零、位反转、交换、舍入等大量技巧,并附有解释和性能讨论。
算法与计算机科学上首页 8 次 · 2011–2024graphics.stanford.edu编辑精选如何不按平均评分排序
How Not To Sort By Average Rating
经典文章解释了为什么按平均评分排序不可靠:只有少量评价的条目(比如仅一条五星)会轻易排到最前,而评价数量的差异被忽略。
算法与计算机科学上首页 7 次 · 2009–2024evanmiller.org编辑精选1996 年以来的计算机科学最佳论文奖
Best Paper Awards in Computer Science since 1996
Jeff Huang 维护的一个汇总页面,收录了自 1996 年以来计算机科学各主要会议的“最佳论文奖”获奖名单,并按年份和会议整理,方便读者一站式浏览历届获奖论文。
算法与计算机科学上首页 6 次 · 2010–2018jeffhuang.com编辑精选算法(Jeff Erickson)
Algorithms, by Jeff Erickson
伊利诺伊大学 Jeff Erickson 教授的算法课教材,免费在线开放。
算法与计算机科学上首页 5 次 · 2018–2022jeffe.cs.illinois.edu编辑精选游戏中的六边形网格
Hexagonal grids for games
Red Blob Games 的六边形网格教程,系统讲解游戏中六边形网格的坐标系(轴向、立方坐标等)、邻居计算、与像素坐标互转、视野与寻路等常见问题。
算法与计算机科学上首页 5 次 · 2013–2020redblobgames.com编辑精选