HackerURLs

一次又一次被重新发现的经典。

同一个链接,相隔一年以上,一次又一次被人重新发现、再次冲上 Hacker News 首页。能经受住这种时间检验的,大多是值得一读再读的文章。每篇附中文标题,讨论最热的那些再加上中文导读和高赞评论翻译。

从名人堂开始
  • 4,700+篇经过时间检验的经典

Hall of fame

名人堂

在经典库里看全部精选

上首页次数最多、而且有中文导读的 30 篇。时间轴上每个黑点是一次上首页,空心点是一次没冲上去的投稿。

  1. 正在载入经典…

Archive

经典库

按第一次上首页的年份分布,点柱子筛选。

排序

    About

    这些经典是怎么挑出来的

    1. 01

      合并同一个链接

      读取 Hacker News 自 2006 年以来的全部链接投稿,把 http/https、www、跟踪参数等写法不同的同一篇文章合并成一条。

    2. 02

      只留经得起时间的

      同一链接至少两次拿到 50 分以上(约等于上首页),而且两次相隔一年以上;再由 AI 剔除状态页、产品首页和新闻事件。

    3. 03

      写导读、译评论

      上首页次数最多的 2,000 篇配上中文导读、"为什么经久不衰",并精选翻译 HN 高赞评论。导读由 AI 生成,可能有误。

    算法与计算机科学qiao.github.io

    PathFinding.js 寻路可视化

    PathFinding.js

    3次上首页
    5年跨度
    777累计得分
    93条评论

    2014 — 2019,它一次次回到首页

    黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。

    导读

    这是 PathFinding.js 的交互式可视化页面:在网格上设置起点、终点和障碍,观察不同寻路算法如何一步步搜索并找到路径。它把抽象的寻路过程变成可动手试验的演示。

    为什么经久不衰:它把有门槛的算法变成直观的网格实验,既能学习原理,也方便对比不同寻路策略,因此多年来仍值得一玩。

    关键词 寻路算法可视化A*交互式演示

    HN 评论精选

    用一次性全图 BFS 预计算到目标的路径,可分摊到多帧,并比多敌人逐个 A* 更稳定。

    我在自己写的游戏里经常用的一招是:对整个场地做一次不终止的广度优先搜索,得到从任意格子到目标格子的路径数据。好处包括:BFS 很容易拆到多帧执行,摊平访问每个格子的开销;当敌人数量增加但目标数量少时,最坏情况开销降低;实现简单;也可以根据寻路层需要满足的最远距离提前终止;不会出现病态的最坏情况,开阔场地反而是最坏情况。我第一次用在 Robokill,一个常同屏 20+ 敌人追踪玩家的 Flash 游戏,当时估计开销约等于对约 5 个敌人做 A*。在游戏里,常见的最坏情况基本决定一切——稳定 60fps 比偶尔 100fps 掉到 30fps 好得多。

    reitzensteinm查看英文原文

    One trick I've used quite a bit in games I've written is to do a breadth-first search of the entire playfield, with no termination, resulting in data for how to get from any tile to the destination. This has a few nice advantages: * Breadth first is trivially broken up to iterate over multiple frames, amortizing the cost of visiting each tile * It reduces the worst case as the number of enemies scales up but the destination counts are low. * The implementation in general is very simple * You can still early terminate if you keep track of the farthest distance a pathfinding layer needs to satisfy. * No pathological, worst case situations where a playfield becomes very expensive to pathfind. An open field is the worst case. I first used this in Robokill, a flash game which often had 20+ enemies on the same screen tracking the player. I estimated at the time that it cost about as much as doing A* on ~5 enemies. In games, the worst (common) case is basically all that matters - a constant 60fps is significantly better than 100fps dropping to 30fps occasionally.

    递归模式在稍复杂图上性能很差。

    递归可视化即使在中等复杂图上也很慢,否则这工具真的很不错。

    newbrict查看英文原文

    The recursive visualization is really slow on even moderately complex graphs, otherwise it's a really neat tool

    评论者推荐 Red Blob Games 的 A* 入门作为权威补充材料。

    这几乎可以说是寻路教程/可视化的权威指南(作者用 D3.js 做示例):http://www.redblobgames.com/pathfinding/a-star/introduction.html

    nacs查看英文原文

    Pretty much the definitive guide for pathfinding how-to/visualization (the author used D3.js for the examples): http://www.redblobgames.com/pathfinding/a-star/introduction.html

    建议增加多算法对比统计和随机迷宫功能。

    如果它能同时跑所有算法,并显示每种算法用了多少步、最终路径长度,那就更酷了。再加一个“随机迷宫”按钮也不错。

    tlrobinson查看英文原文

    It would be cool if it ran all the algorithms and showed you how many steps it took and the final path length for each one. Also, a "random maze" button would be nice.

    历次讨论

    同类还值得读

    1. 位运算技巧集

      Bit Twiddling Hacks

      斯坦福页面上的经典位运算技巧合集,收录了 popcount、前导/尾随零、位反转、交换、舍入等大量技巧,并附有解释和性能讨论。

      算法与计算机科学上首页 8 次 · 2011–2024graphics.stanford.edu编辑精选
    2. 如何不按平均评分排序

      How Not To Sort By Average Rating

      经典文章解释了为什么按平均评分排序不可靠:只有少量评价的条目(比如仅一条五星)会轻易排到最前,而评价数量的差异被忽略。

      算法与计算机科学上首页 7 次 · 2009–2024evanmiller.org编辑精选
    3. 数据结构可视化

      Data Structure Visualizations

      旧金山大学 David Galles 教授制作的数据结构与算法交互式可视化网站,涵盖 B 树、红黑树、排序、图算法等,可逐步操作观察其运行过程。

      算法与计算机科学上首页 6 次 · 2011–2021cs.usfca.edu编辑精选
    4. 1996 年以来的计算机科学最佳论文奖

      Best Paper Awards in Computer Science since 1996

      Jeff Huang 维护的一个汇总页面,收录了自 1996 年以来计算机科学各主要会议的“最佳论文奖”获奖名单,并按年份和会议整理,方便读者一站式浏览历届获奖论文。

      算法与计算机科学上首页 6 次 · 2010–2018jeffhuang.com编辑精选
    5. 算法(Jeff Erickson)

      Algorithms, by Jeff Erickson

      伊利诺伊大学 Jeff Erickson 教授的算法课教材,免费在线开放。

      算法与计算机科学上首页 5 次 · 2018–2022jeffe.cs.illinois.edu编辑精选

    打赏支持

    打赏二维码

    觉得有用,请作者喝杯咖啡。

    WeChat

    关注向阳乔木

    微信公众号「向阳乔木推荐看」

    微信公众号「向阳乔木推荐看」二维码

    微信扫一扫;在微信里打开本页时,长按二维码识别。