mirror of
https://github.com/krahets/hello-algo.git
synced 2024-12-24 09:36:28 +08:00
Update the contents
This commit is contained in:
parent
55586e6a6e
commit
902be479b2
6 changed files with 14 additions and 20 deletions
|
@ -30,7 +30,7 @@
|
|||
|
||||
## Docker 部署
|
||||
|
||||
你可以使用 Docker 来部署本项目。
|
||||
你可以使用 Docker 来部署本项目。稍等片刻,即可使用浏览器打开 `http://localhost:8000` 访问本项目。
|
||||
|
||||
```shell
|
||||
git clone https://github.com/krahets/hello-algo.git
|
||||
|
@ -38,8 +38,6 @@ cd hello-algo
|
|||
docker-compose up -d
|
||||
```
|
||||
|
||||
稍等片刻,即可使用浏览器打开 `http://localhost:8000` 访问本项目。
|
||||
|
||||
使用以下命令即可删除部署。
|
||||
|
||||
```shell
|
||||
|
|
|
@ -92,9 +92,9 @@ $$
|
|||
|
||||
| 指数位 E | 分数位 $\mathrm{N} = 0$ | 分数位 $\mathrm{N} \ne 0$ | 计算公式 |
|
||||
| ------------------ | ----------------------- | ---------------------------- | ------------------------------------------------------------ |
|
||||
| $0$ | $\pm 0$ | 次正规数(subnormal number) | $(-1)^{\mathrm{S}} \times 2^{-126} \times (0.\mathrm{N})$ |
|
||||
| $1, 2, \dots, 254$ | 正规数 | 正规数 | $(-1)^{\mathrm{S}} \times 2^{(\mathrm{E} -127)} \times (1.\mathrm{N})$ |
|
||||
| $255$ | $\pm \infty$ | $\mathrm{NaN}$ | |
|
||||
| $0$ | $\pm 0$ | 次正规数 | $(-1)^{\mathrm{S}} \times 2^{-126} \times (0.\mathrm{N})$ |
|
||||
| $1, 2, \dots, 254$ | 正规数 | 正规数 | $(-1)^{\mathrm{S}} \times 2^{(\mathrm{E} -127)} \times (1.\mathrm{N})$ |
|
||||
| $255$ | $\pm \infty$ | $\mathrm{NaN}$ | |
|
||||
|
||||
特别地,次正规数显著提升了小数精度:
|
||||
|
||||
|
|
|
@ -6,6 +6,6 @@
|
|||
- 两个不同的 key 经过哈希函数可能得到相同的桶索引,进而发生哈希冲突,导致查询错误。
|
||||
- 缓解哈希冲突的途径有两种:哈希表扩容、优化哈希表的表示方式。
|
||||
- 负载因子定义为哈希表中元素数量除以桶槽数量,体现哈希冲突的严重程度,常用作哈希表扩容的触发条件。与数组扩容的原理类似,哈希表扩容操作开销也很大。
|
||||
- 链式地址考虑将单个元素转化成一个链表,将所有冲突元素都存储在一个链表中,从而解决哈希冲突。而为了提升查询效率,可以把链表转化为 AVL 树或红黑树,
|
||||
- 链式地址考虑将单个元素转化成一个链表,将所有冲突元素都存储在一个链表中,从而解决哈希冲突。链表过长会导致查询效率变低,可以通过把链表转化为 AVL 树或红黑树来解决。
|
||||
- 开放寻址通过多次探测来解决哈希冲突。线性探测使用固定步长,缺点是不能删除元素且容易产生聚集。多次哈希使用多个哈希函数进行探测,相对线性探测不容易产生聚集,代价是多个哈希函数增加了计算量。
|
||||
- 在工业界中,Java 的 HashMap 采用链式地址、Python 的 Dict 采用开放寻址。
|
||||
|
|
|
@ -35,9 +35,9 @@
|
|||
本书的成书过程中,我获得了许多人的帮助,包括但不限于:
|
||||
|
||||
- 感谢我的导师李博,在小酌畅谈时您告诉我“觉得应该做就去做”,坚定了我写这本书的决心。
|
||||
- 感谢我的女朋友泡泡担任本书的首位读者,从算法小白的视角为本书的写作提出了许多建议,使这本书更加适合算法初学者来阅读。
|
||||
- 感谢腾宝、琦宝、飞宝为本书起了个响当当的名字,好听又有梗,直接唤起我最初敲下第一行代码 "Hello World!" 的回忆。
|
||||
- 感谢苏潼为本书设计了封面和 LOGO ,我有些强迫症,前后多次修改,谢谢你的耐心。
|
||||
- 感谢我的女朋友泡泡担任本书的首位读者,从算法小白的视角提出了许多建议,使这本书更加适合初学者来阅读。
|
||||
- 感谢腾宝、琦宝、飞宝为本书起了个好听又有梗名字,直接唤起我最初敲下第一行代码 "Hello World!" 的回忆。
|
||||
- 感谢苏潼为本书设计了封面和 LOGO ,在我的强迫症下前后多次帮忙修改,谢谢你的耐心。
|
||||
- 感谢 @squidfunk 给出的写作排版建议,以及优秀开源项目 [Material-for-MkDocs](https://github.com/squidfunk/mkdocs-material/tree/master) 。
|
||||
|
||||
本书鼓励“手脑并用”的学习方式,在这点上受到了《动手学深度学习》很大影响,也在此向各位同学强烈推荐这本著作,包括[中文版](https://github.com/d2l-ai/d2l-zh)、[英文版](https://github.com/d2l-ai/d2l-en)、[李沐老师 bilibili 主页](https://space.bilibili.com/1567748478)。
|
||||
|
|
|
@ -341,9 +341,7 @@
|
|||
=== "Go"
|
||||
|
||||
```go title="linkedlist_deque.go"
|
||||
[class]{ListNode}-[func]{}
|
||||
|
||||
[class]{LinkedListDeque}-[func]{}
|
||||
[class]{linkedListDeque}-[func]{}
|
||||
```
|
||||
|
||||
=== "JavaScript"
|
||||
|
|
|
@ -58,17 +58,15 @@ hide:
|
|||
|
||||
<h2 align="center"> 序 </h2>
|
||||
|
||||
近两年来,我在力扣上分享了一些题解和算法文章,回复了许多读者的评论问题,遇到最多的一类问题则是“如何入门学习算法”。我逐渐也对这个问题好奇了起来。
|
||||
两年前,我在力扣上分享了《剑指 Offer》系列题解,受到了很多小伙伴的喜爱与支持。在此期间,我也回复了许多读者的评论问题,遇到最多的问题是“如何入门学习算法”。我渐渐也对这个问题好奇了起来。
|
||||
|
||||
两眼一抹黑地刷题应该是最受欢迎的方式。刷题就如同玩“扫雷”游戏一样,基础好的同学可以顺利地将地雷逐个排掉,而基础不足的同学很可能被炸的满头是包,并在受挫中渐渐退缩。通读教材书籍也是常用方法,但对于面向求职的同学来说,毕业季、投递简历、应付笔面试已经占用大部分精力,厚重的书本也因此成为巨大的挑战。
|
||||
两眼一抹黑地刷题应该是最受欢迎的方式,简单粗暴且有效。然而,刷题就如同玩“扫雷”游戏,自学能力强的同学能够顺利地将地雷逐个排掉,而基础不足的同学很可能被炸的满头是包,并在受挫中步步退缩。通读教材书籍也是常用方法,但对于面向求职的同学来说,毕业季、投递简历、应付笔面试已经占用大部分精力,厚重的书本也因此成为巨大的挑战。
|
||||
|
||||
如果你也有上述烦恼,那么很幸运这本书找到了你。本书是我对于该问题给出的答案,虽然不一定正确,但至少代表一次积极的尝试。这本书虽然不足以让你直接拿到 Offer ,但可以带领你探索出算法知识的“地图”,让你了解不同“地雷”的形状大小和分布位置,并使你掌握各种“排雷方法”。
|
||||
如果你也有上述烦恼,那么很幸运这本书找到了你。本书是我对于该问题给出的答案,虽然不一定正确,但至少代表一次积极的尝试。这本书虽然不足以让你直接拿到 Offer ,但会引导你探索数据结构与算法的“知识地图”,带你了解不同“地雷”的形状大小和分布位置,让你掌握各种“排雷方法”。有了这些本领,相信你可以更加得心应手地刷题与阅读文献,逐步搭建起完整的知识体系。
|
||||
|
||||
本书提供可一键运行的源代码,已被翻译至 12 种编程语言,托管在 [github.com/krahets/hello-algo](https://github.com/krahets/hello-algo) 仓库。发行版 PDF 的更新周期较长,想看最新内容的小伙伴可以前往 [www.hello-algo.com](https://www.hello-algo.com/) 网页版。
|
||||
书中的代码均配有可一键运行的源文件,托管在 [github.com/krahets/hello-algo](https://github.com/krahets/hello-algo) 仓库,建议前往下载。发行版 PDF 的更新周期较长,想看最新内容的小伙伴可以前往 [www.hello-algo.com](https://www.hello-algo.com/) 网页版。
|
||||
|
||||
希望这本书能够帮助你把知识的“雪球”滚起来,让你做到心中有数、不慌不忙。加油!
|
||||
|
||||
### 作者简介
|
||||
<h3 align="left"> 作者简介 </h3>
|
||||
|
||||
靳宇栋 (Krahets),大厂高级算法工程师,上海交通大学硕士。力扣(LeetCode)全网阅读量最高博主,其 LeetBook《图解算法数据结构》已被订阅 22 万本。
|
||||
|
||||
|
|
Loading…
Reference in a new issue