Hello Algo Versions Save

《Hello 算法》:动画图解、一键运行的数据结构与算法教程。支持 Python, Java, C++, C, C#, JS, Go, Swift, Rust, Ruby, Kotlin, TS, Dart 代码。简体版和繁体版同步更新,English version ongoing

1.1.0

3 weeks ago

《Hello 算法》1.1.0 版本的 PDF 电子书请见附件,支持 Python、C++、Java、C#、Go、Swift、JavaScript、TypeScript、Dart、Rust、C 和 Kotlin 等语言。

主要改动

  • 新增小节:纸质书、序,重写小节:术语表。
  • 新增繁体中文版(由 @Shyam-Chen、@Dr-XYZ 审阅)。
  • 新增 Kotlin 语言(由 @curtishd 审阅),修订 Swift 代码(@nuomi1)。
  • 新增中译英指南、翻译图文等(由 @K3v123、@yuelinxin、@RafaelCaso、@thomasq0、@QiLOL、@pengchzn 审阅)。
  • 重新设计网页版主页、优化术语标注、PDF callouts 等。
  • 修复各类已知问题。

贡献者

感谢 @Allen-Scai, @CuB3y0nd, @Dr-XYZ, @Gonglja, @K3v123, @KeiichiKasai, @Phoenix0415, @QiLOL, @Reanon, @SamJin98, @YangXuanyi, @bluebean-cloud, @curtishd, @cy-by-side, @echo1937, @fanenr, @hpstory, @hugtyftg, @khoaxuantu, @krahets, @longsizhuo, @nanlei, @nidhoggfgg, @night-cruise, @nuomi1, @primexiao, @qq909244296, @rongyi, @sdshaoda, @yang-le 对该版本的贡献!

[!tip] 纸质书已发行,详情请见此链接

1.0.0

3 months ago

[!Important]

已有更新版本,最新发行版请见 Release 页面。

此版本为《Hello 算法》1.0.0 正式版,主要内容包括:

  • 复杂度分析:数据结构和算法的评价维度与方法。时间复杂度和空间复杂度的推算方法、常见类型、示例等。
  • 数据结构:基本数据类型和数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。
  • 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤和示例问题等。

现已支持 Python, C++, Java, C#, Go, Swift, JavaScript, TypeScript, Dart, Rust, C 等多种编程语言的 PDF 电子书下载

主要改动

  1. 添加小节:术语表。
  2. 引入 pythontutor 代码可视化运行模块。
  3. 启动中译英工作流,已完成翻译前三章。
  4. 完成整书文字、图片和代码的修订工作。
  5. 更新项目 logo、主页图、封面图等素材。
  6. 修复各类已知问题。

致谢

一年多来,《Hello 算法》经历了数个版本的迭代,在开源社区 130 多位贡献者的共同努力下不断完善。感谢本书的所有贡献者,包括:@krahets、@codingonion、@Gonglja、@nuomi1、@Reanon、@justin-tse、@hpstory、@danielsss、@S-N-O-R-L-A-X、@night-cruise、@msk397、@gvenusleo、@RiverTwilight、@gyt95、@zhuoqinyue、@Zuoxun、@mingXta、@Xia-Sang、@FangYuan33、@GN-Yu、@IsChristina、@xBLACKICEx、@guowei-gong、@Cathay-Chen、@mgisr、@JoseHung、@qualifier1024、@pengchzn、@Guanngxu、@L-Super、@longsizhuo、@WSL0809、@Slone123c、@lhxsm、@yuan0221、@what-is-me、@K3v123、@longranger2、@theNefelibatas、@yuelinxin、@xiongsp、@JeffersonHuang、@Wonderdch、@malone6、@gaofer、@a16su、@hongyun-robot、@MolDuM、@Nigh、@huawuque404、@iron-irax、@yd-j、@XiaChuerwu、@XC-Zero、@QiLOL、@reeswell、@NI-SW、@Horbin-Magician、@xjr7670、@DullSword、@luluxia、@lucaswangdev、@liuxjerry、@lwbaptx、@lclc6、@kilikilikid、@keshida、@wenjianmin、@jiaxianhua、@iStig、@boloboloda、@hts0000、@gledfish、@fbigm、@szu17dmy、@dshlstarr、@coderlef、@czruby、@xb534、@ElaBosak233、@baagod、@zhouLion、@yishangzhang、@yi427、@yabo083、@weibk、@wangwang105、@th1nk3r-ing、@tao363、@4yDX3906、@syd168、@siqyka、@selear、@noobcodemaker、@chadyi、@lyl625760、@0130w、@shanghai-Jerry、@JackYang-hellobobo、@Javesun99、@lipusheng、@ShiMaRing、@FreddieLi、@FloranceYeh、@Transmigration-zhou、@fanchenggang、@gltianwen、@YangXuanyi、@curly210102、@youshaoXG、@bubble9um、@52coder、@foursevenlove、@KorsChen、@beintentional、@ZongYangL、@hezhizhen、@linzeyan、@ZJKung、@GaochaoZhu、@Evilrabbit520、@Turing-1024-Lee、@Suremotoo、@Richard-Zhang1019、@qingpeng9802、@Phoenix0415、@1ch0、@MwumLi、@ZnYang2018、@logan-qiu、@psychelzh 和 @Keynman 。

代码审阅

本书提供十余种编程语言的实现,代码审阅工作由 @codingonion、@Gonglja、@gvenusleo、@hpstory、@justin-tse、@krahets、@night-cruise、@nuomi1 和 @Reanon 完成。

在本书更新过程中,他们持续为本项目提供代码示例、审阅 PR 、修复 bug 、构建自动化工作流。感谢他们付出的时间,正是他们确保了各语言代码的规范与统一,使得本书覆盖到更多有需要的读者。

中译英

本项目在成长过程中,逐渐吸引了全球读者的关注。因此,我们组建了一个由计算机专业、笔译专业和英语母语者组成的翻译小组,成员包括:@yuelinxin、@K3v123、@yanedie、@Phoenix0415、@QiLOL、@SamJin98、@thomasq0、@YangXuanyi 和 @longsizhuo 。感谢各位投入的精力,正因他们的积极参与,这本书才有机会触及更广泛的读者群体。

我们采用三段式的翻译工作流(机器翻译 > 人工优化 > 审阅)和交叉审阅机制,确保翻译内容的准确性和流畅度。翻译工作正在进行中,期待你的加入,详情请见 #914 。

评论区

我们致力于构建一个互助学习的环境。感谢 @Gonglja, @hpstory, @night-cruise, @amlei, @ulic-youthlic 积极回答读者的问题,@longsizhuo 帮助总结具有启发性的讨论内容。

知识在分享中得以增长。期待更多贡献者在评论区中回答问题和分享见解!

致读者

"Knowledge isn't free. You have to pay attention." — Richard P. Feynman “知识并不免费,你必须付出注意力。” — 理查德 · P · 费曼

正如费曼教授所言,虽然这本开源书是免费的,但知识并不“免费”。感谢每一位为本书付出宝贵注意力的读者。

希望这本书能够帮助到你!

1.0.0b6

6 months ago

[!Important]

已有更新版本,最新发行版请见 Release 页面。

该版本为《Hello 算法》1.0.0 版的预发布 b6 版本。

现已支持 Python, C++, Java, C#, Go, Swift, JavaScript, TypeScript, Dart, Rust, C 的 PDF 电子书下载。

主要改动

  • 新增 Rust 和 C 语言版 PDF 电子书。
  • 重新实现开放寻址哈希表、归并排序。
  • 更新部分章节 Q&A 。
  • 统一 C# 代码样式为 PascalCase 。
  • 添加 auto-bulid-and-check workflow ,现已包括 Python, C#, Swift, Dart。
  • 优化暗色主题样式、页面交互。
  • 减小图片文件大小,提升加载速度。
  • 修复各类已知问题。

贡献者

感谢 @0130w, @52coder, @Evilrabbit520, @FreddieLi, @Gonglja, @Horbin-Magician, @MwumLi, @Nigh, @Phoenix0415, @QiLOL, @Transmigration-zhou, @Turing-1024-Lee, @Zuoxun, @coderlef, @foursevenlove, @gledfish, @gvenusleo, @hpstory, @hts0000, @huawuque404, @justin-tse, @keshida, @kilikilikid, @krahets, @lclc6, @lhxsm, @logan-qiu, @longsizhuo, @lucaswangdev, @lyl625760, @malone6, @night-cruise, @noobcodemaker, @nuomi1, @qingpeng9802, @reeswell, @sjinzh, @syd168, @theNefelibatas, @wenjianmin, @zhouLion 对该版本的贡献!

1.0.0b5

7 months ago

[!Important]

已有更新版本,最新发行版请见 Release 页面。

该版本为《Hello 算法》1.0.0 版的预发布 b5 版本。

现已支持 Python, C++, Java, C#, Go, Swift, JavaScript, TypeScript, Dart 的 PDF 电子书下载。Rust 和 C 的 PDF 电子书预计在下个版本发布。

主要改动

  • 新增小节:迭代与递归、二分查找插入点。
  • 重写小节:二分查找边界。
  • 添加图表编号和文中引用。
  • 添加章封面图,以及章开篇语。
  • 调整目录结构、标题样式、图片字体样式等。

贡献者

感谢 @ElaBosak233, @Gonglja, @Reanon, @Richard-Zhang1019, @WSL0809, @XiaChuerwu, @baa-god, @bubble9um, @gaofer, @gvenusleo, @hpstory, @justin-tse, @krahets, @longsizhuo, @lwbaptx, @night-cruise, @nuomi1, @psychelzh, @yd-j, @yishangzhang, @yuan0221 对该版本的贡献!

1.0.0b4

9 months ago

该版本为《Hello 算法》1.0.0 版的预发布 b4 版本。

现已支持 Java, C++, Python, Go, C# 的 PDF 电子书下载。JavaScript, TypeScript, Swift 请暂时下载 1.0.0b3 版。

主要改动

本版本新增章节较多,内容扩展约 60% 。

  • 新增章:分治、动态规划、贪心,共 17 个小节。
  • 新增小节:哈希算法、选择排序、堆排序、Top-K 问题、子集和问题。
  • 新增代码实现:哈希冲突、二叉树的数组表示。
  • 新增各章节 Q&A 。
  • 在网页版推出 Rust 语言代码。
  • 优化网页版阅读体验。
  • 调整润色全书内容。

贡献者

感谢 @Gonglja, @JeffersonHuang, @NI-SW, @Reanon, @Suremotoo, @WSL0809, @ZongYangL, @curly210102, @gvenusleo, @hongyun-robot, @hpstory, @justin-tse, @krahets, @linzeyan, @longsizhuo, @night-cruise, @nuomi1, @shanghai-Jerry, @sjinzh, @wangwang105, @xBLACKICEx, @yuan0221 对该版本的贡献!

1.0.0b3

11 months ago

该版本为《Hello 算法》1.0.0 版的预发布 b3 版本。

现已支持 Java, C++, Python, JavaScript, TypeScript, Go, C#, Swift 的 PDF 电子书下载。

主要改动

  • 新增回溯算法、全排列、N 皇后。
  • 删除查找算法章节,新增搜索算法、二分查找章节。
  • 完整润色书内的文字内容。
  • 统一各编程语言的代码格式化工具。
  • 在网页版推出 C 语言代码。

贡献者

感谢 @Gonglja, @Guanngxu, @gvenusleo, @hpstory, @justin-tse, @krahets, @nuomi1, @xBLACKICEx, @yi427 对该版本的贡献!

1.0.0b2

1 year ago

已有更新版本,最新发行版请见 Release 页面。

该版本为《Hello 算法》1.0.0 版的预发布 b2 版本。

主要改动

  • 新增桶排序、计数排序、基数排序章节。
  • 根据 PEP 585 Typing 标准重构 Python 代码,修复 C++, Swift 代码若干问题。
  • 调整润色文章内容。

贡献者

感谢 @Gonglja, @Guanngxu, @Reanon, @boloboloda, @gvenusleo, @hpstory, @krahets, @nuomi1, @sjinzh, @xBLACKICEx 对该版本的贡献!

1.0.0b1

1 year ago

最新发行版请见 Release 页面。建议下载最新版本。

该版本为《Hello 算法》1.0.0 版的预发布版本。

主要改动

  • 共包含 12 章内容:写在前面、引言、复杂度分析、数据结构简介、数组与链表、栈与队列、散列表、树、堆、图、查找算法、排序算法、附录;
  • 已将代码译写至 Java, C++, Python, Go, JavaScript, TypeScript, C#, Swift, Zig 等语言,以适应更多读者的需要;
  • 为方便离线阅读与做笔记,在网页版的基础上新增 PDF 版,已支持 7 种语言,C#, Zig 语言版将在后续版本发布;

致谢

本书在开源社区的群策群力下逐步成长,感谢每一位撰稿人,是他们的无私奉献让这本书变得更好,他们是(按照 GitHub 自动生成的顺序):@krahets, @justin-tse, @sjinzh, @Reanon, @nuomi1, @Gonglja, @S-N-O-R-L-A-X, @danielsss, @RiverTwilight, @msk397, @gyt95, @zhuoqinyue, @FangYuan33, @mingXta, @Xia-Sang, @guowei-gong, @GN-Yu, @JoseHung, @IsChristina, @pengchzn, @qualifier1024, @Cathay-Chen, @what-is-me, @L-Super, @Slone123c, @mgisr, @xBLACKICEx, @longranger2, @xiongsp, @WSL0809, @Wonderdch, @a16su, @JeffersonHuang, @xjr7670, @MolDuM, @XC-Zero, @DullSword, @iron-irax, @huawuque404, @4yDX3906, @ZJKung, @xb534, @Guanngxu, @siqyka, @ZnYang2018, @beintentional, @luluxia, @GaochaoZhu, @weibk, @dshlstarr, @ShiMaRing, @fbigm, @Aesperero, @iStig, @YuelinXin, @szu17dmy, @hezhizhen, @fanchenggang, @Keynman, @youshaoXG, @lipusheng, @Javesun99, @tao363, @czruby, @gltianwen, @liuxjerry, @yabo083.

本书的代码审阅工作由 @justin-tse, @krahets, @nuomi1, @Reanon, @sjinzh 完成,感谢他们的辛勤付出!