|
|
|
|
---
|
|
|
|
|
comments: true
|
|
|
|
|
hide:
|
|
|
|
|
- footer
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
=== " "
|
|
|
|
|
|
|
|
|
|
<div class="result" markdown>
|
|
|
|
|
![conceptual_rendering](index.assets/conceptual_rendering.png){ align=left width=330 }
|
|
|
|
|
</br></br></br></br></br>
|
|
|
|
|
<h1 align="center"> 《 Hello 算法 》 </h1>
|
|
|
|
|
<p align="center"> 动画图解、能运行、可提问的</br>数据结构与算法快速入门教程 </p>
|
|
|
|
|
<p align="center"> [![github-stars](https://img.shields.io/github/stars/krahets/hello-algo?style=social)](https://github.com/krahets/hello-algo)</p>
|
|
|
|
|
<h6 align="center"> [@Krahets](https://leetcode.cn/u/jyd/) </h6>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
<h2 align="center"> 推荐语 </h2>
|
|
|
|
|
|
|
|
|
|
!!! quote
|
|
|
|
|
|
|
|
|
|
“一本通俗易懂的数据结构与算法入门书,引导读者手脑并用地学习,强烈推荐算法初学者阅读。”
|
|
|
|
|
|
|
|
|
|
**—— 邓俊辉,清华大学计算机系教授**
|
|
|
|
|
|
|
|
|
|
!!! quote
|
|
|
|
|
|
|
|
|
|
“如果我当年学数据结构与算法的时候有《Hello 算法》,学起来应该会简单 10 倍!”
|
|
|
|
|
|
|
|
|
|
**—— 李沐,亚马逊资深首席科学家**
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
<h3 align="center"> 「全书动画图解」 </h3>
|
|
|
|
|
|
|
|
|
|
<p align="center"> 内容清晰易懂、学习曲线平滑</br>电脑、平板、手机全终端阅读 </p>
|
|
|
|
|
|
|
|
|
|
![algorithm_animation](index.assets/animation.gif)
|
|
|
|
|
|
|
|
|
|
!!! quote ""
|
|
|
|
|
|
|
|
|
|
<p align="center"> "A picture is worth a thousand words." </p>
|
|
|
|
|
<p align="center"> “一图胜千言” </p>
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
<h3 align="center"> 「代码一键运行」 </h3>
|
|
|
|
|
|
|
|
|
|
<p align="center"> 提供各个算法与数据结构的简洁实现与测试样例,皆可直接运行</br>支持 Java, C++, Python, Go, JS, TS, C#, Swift, Zig 等语言 </p>
|
|
|
|
|
|
|
|
|
|
![running_code](index.assets/running_code.gif)
|
|
|
|
|
|
|
|
|
|
!!! quote ""
|
|
|
|
|
|
|
|
|
|
<p align="center"> "Talk is cheap. Show me the code." </p>
|
|
|
|
|
<p align="center"> “少吹牛,看代码” </p>
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
<h3 align="center"> 「可讨论与提问」 </h3>
|
|
|
|
|
|
|
|
|
|
<p align="center"> 鼓励小伙伴们互帮互助、共同成长</br>提问与评论一般能在两日内得到回复 </p>
|
|
|
|
|
|
|
|
|
|
![comment](index.assets/comment.gif)
|
|
|
|
|
|
|
|
|
|
!!! quote ""
|
|
|
|
|
|
|
|
|
|
<p align="center"> “追风赶月莫停留,平芜尽处是春山” </p>
|
|
|
|
|
<p align="center"> 一起加油! </p>
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
<h2 align="center"> 序 </h2>
|
|
|
|
|
|
|
|
|
|
两年前,我在力扣上分享了《剑指 Offer》系列题解,受到了许多朋友的喜爱与支持。在此期间,我回答了众多读者的评论问题,其中最常见的一个问题是“如何入门学习算法”。我逐渐也对这个问题产生了浓厚的兴趣。
|
|
|
|
|
|
|
|
|
|
两眼一抹黑地刷题似乎是最受欢迎的方法,简单直接且有效。然而,刷题就如同玩“扫雷”游戏,自学能力强的同学能够顺利地将地雷逐个排掉,而基础不足的同学很可能被炸的满头是包,并在挫折中步步退缩。通读教材书籍也是一种常见做法,但对于面向求职的同学来说,毕业季、投递简历、准备笔试面试已经占据了大部分精力,厚重的书籍往往变成了一项艰巨的挑战。
|
|
|
|
|
|
|
|
|
|
如果你也面临类似的困扰,那么很幸运这本书找到了你。本书是我对此问题的给出的答案,虽然不一定正确,但至少是一次积极的尝试。这本书虽然不足以让你直接拿到 Offer ,但会引导你探索数据结构与算法的“知识地图”,带你了解不同“地雷”的形状大小和分布位置,让你掌握各种“排雷方法”。有了这些本领,相信你可以更加自如地应对刷题和阅读文献,逐步构建起完整的知识体系。
|
|
|
|
|
|
|
|
|
|
<h3 align="left"> 作者简介 </h3>
|
|
|
|
|
|
|
|
|
|
靳宇栋 (Krahets),大厂高级算法工程师,上海交通大学硕士。力扣(LeetCode)全网阅读量最高博主,其 LeetBook《图解算法数据结构》已被订阅 22 万本。
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
<h2 align="center"> 致谢 </h2>
|
|
|
|
|
|
|
|
|
|
本书在开源社区众多贡献者的共同努力下不断成长。感谢每一位投入时间与精力的撰稿人,是他们无私奉献使这本书越变越好,他们是(按照 GitHub 自动生成的顺序):
|
|
|
|
|
|
|
|
|
|
<p align="center">
|
|
|
|
|
<a href="https://github.com/krahets/hello-algo/graphs/contributors">
|
|
|
|
|
<img width="550" src="https://contrib.rocks/image?repo=krahets/hello-algo" />
|
|
|
|
|
</a>
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
本书的代码审阅工作由 justin‐tse, krahets, nuomi1, Reanon, sjinzh 完成,感谢他们的辛勤付出!
|
|
|
|
|
|
|
|
|
|
<div class="center-table">
|
|
|
|
|
<table>
|
|
|
|
|
<tbody>
|
|
|
|
|
<td align="center"><a href="https://github.com/justin-tse"><img src="https://avatars.githubusercontent.com/u/24556310?v=4" width="50px;" alt="justin-tse"/><br /><sub><b>justin-tse</b></sub></a><br /><sub>JS / TS</sub></td>
|
|
|
|
|
<td align="center"><a href="https://github.com/krahets"><img src="https://avatars.githubusercontent.com/u/26993056?v=4" width="50px;" alt="krahets"/><br /><sub><b>krahets</b></sub></a><br /><sub>Java / Python</sub></td>
|
|
|
|
|
<td align="center"><a href="https://github.com/nuomi1"><img src="https://avatars.githubusercontent.com/u/3739017?v=4" width="50px;" alt="nuomi1"/><br /><sub><b>nuomi1</b></sub></a><br /><sub>Swift</sub></td>
|
|
|
|
|
<td align="center"><a href="https://github.com/Reanon"><img src="https://avatars.githubusercontent.com/u/22005836?v=4" width="50px;" alt="Reanon"/><br /><sub><b>Reanon</b></sub></a><br /><sub>Go / C</sub></td>
|
|
|
|
|
<td align="center"><a href="https://github.com/sjinzh"><img src="https://avatars.githubusercontent.com/u/99076655?v=4" width="50px;" alt="sjinzh"/><br /><sub><b>sjinzh</b></sub></a><br /><sub>Rust / Zig</sub></td>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
---
|