Update the chapter preface.

This commit is contained in:
krahets 2023-03-03 21:54:04 +08:00
parent 8c65345b76
commit ca261a8f46
7 changed files with 16 additions and 10 deletions

View file

@ -4,7 +4,6 @@
* Author: Zhuo Qinyue (1403450829@qq.com) * Author: Zhuo Qinyue (1403450829@qq.com)
*/ */
/* 基于环形数组实现的双向队列 */ /* 基于环形数组实现的双向队列 */
class ArrayDeque { class ArrayDeque {
#nums; // 用于存储双向队列元素的数组 #nums; // 用于存储双向队列元素的数组

View file

@ -378,7 +378,7 @@
[class]{}-[func]{insert} [class]{}-[func]{insert}
``` ```
在链表中删除结点也很方便,只需要改变一个结点指针即可。如下图所示,虽然在完成删除后结点 `P` 仍然指向 `n2` ,但实际上 `P` 已经不属于此链表了,因为遍历此链表是无法访问到 `P` 的。 在链表中删除结点也很方便,只需要改变一个结点指针即可。如下图所示,虽然在完成删除后结点 `P` 仍然指向 `n1` ,但实际上 `P` 已经不属于此链表了,因为遍历此链表是无法访问到 `P` 的。
![链表删除结点](linked_list.assets/linkedlist_remove_node.png) ![链表删除结点](linked_list.assets/linkedlist_remove_node.png)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 279 KiB

After

Width:  |  Height:  |  Size: 1.3 MiB

View file

@ -1,12 +1,10 @@
# 关于本书 # 关于本书
五年前发生的一件事,成为了我职业生涯的重要转折点。当时的我在交大读研,对互联网求职一无所知,但仍然硬着头皮申请了 Microsoft 软件工程师实习。面试官让我在白板上写出“快速排序”代码,我畏畏缩缩地写了一个“冒泡排序”,并且还写错了` (ToT) ` 。从面试官的表情上,我看到了一个大大的 "GG" 本项目致力于构建一本开源免费、新手友好的数据结构与算法入门书
此次失利倒逼我开始刷算法题。我采用“扫雷游戏”式的学习方法,两眼一抹黑刷题,扫到不会的“雷”就通过查资料把它“排掉”,配合周期性总结,逐渐形成了数据结构与算法的知识图景。幸运地,我在秋招斩获了多家大厂的 Offer 。 - 全书采用动画图解,结构化地讲解数据结构与算法知识,内容清晰易懂、学习曲线平滑;
- 算法源代码皆可一键运行,支持 Java, C++, Python, Go, JS, TS, C#, Swift, Zig 等语言;
回想自己当初在“扫雷式”刷题中被炸的满头包的痛苦,思考良久,**我意识到一本“前期刷题必看”的读物可以使算法小白少走许多弯路**。写作意愿滚滚袭来,那就动笔吧: - 鼓励读者在章节讨论区互帮互助、共同进步,提问与评论一般能在两日内得到回复;
<h4 align="center"> Hello 算法! </h4>
## 读者对象 ## 读者对象
@ -22,7 +20,7 @@
## 内容结构 ## 内容结构
本书主要内容分为复杂度分析、数据结构、算法三个部分。 本书主要内容有:
- **复杂度分析**:数据结构与算法的评价维度、算法效率的评估方法。时间复杂度、空间复杂度,包括推算方法、常见类型、示例等。 - **复杂度分析**:数据结构与算法的评价维度、算法效率的评估方法。时间复杂度、空间复杂度,包括推算方法、常见类型、示例等。
- **数据结构**:常用的基本数据类型,数据在内存中的存储方式、数据结构分类方法。数组、链表、栈、队列、散列表、树、堆、图等数据结构,内容包括定义、优劣势、常用操作、常见类型、典型应用、实现方法等。 - **数据结构**:常用的基本数据类型,数据在内存中的存储方式、数据结构分类方法。数组、链表、栈、队列、散列表、树、堆、图等数据结构,内容包括定义、优劣势、常用操作、常见类型、典型应用、实现方法等。

View file

@ -0,0 +1,8 @@
# 小结
- 本书主要面向算法初学者。对于已经有一定积累的同学,这本书可以帮助你系统回顾算法知识,源代码可被当作“刷题工具库”来使用。
- 书中内容主要分为复杂度分析、数据结构、算法三部分,覆盖了该领域的大部分主题。
- 对于算法小白,在初学阶段阅读一本入门书是非常有必要的,可以少走许多弯路。
- 书内的动画和图解往往介绍的是重点和难点知识,在阅读时应该多加关注。
- 实践是学习编程的最佳方式,强烈推荐运行源代码,动手敲代码。
- 本书提供了讨论区,遇到疑惑可以随时提问。

View file

@ -439,7 +439,7 @@
=== "JavaScript" === "JavaScript"
```js title="array_deque.js" ```javascript title="array_deque.js"
[class]{ArrayDeque}-[func]{} [class]{ArrayDeque}-[func]{}
``` ```

View file

@ -127,6 +127,7 @@ nav:
- 0. &nbsp; &nbsp; 写在前面: - 0. &nbsp; &nbsp; 写在前面:
- 0.1. &nbsp; 关于本书: chapter_preface/about_the_book.md - 0.1. &nbsp; 关于本书: chapter_preface/about_the_book.md
- 0.2. &nbsp; 如何使用本书: chapter_preface/suggestions.md - 0.2. &nbsp; 如何使用本书: chapter_preface/suggestions.md
- 0.3. &nbsp; 小结: chapter_preface/summary.md
- 1. &nbsp; &nbsp; 引言: - 1. &nbsp; &nbsp; 引言:
- 1.1. &nbsp; 算法无处不在: chapter_introduction/algorithms_are_everywhere.md - 1.1. &nbsp; 算法无处不在: chapter_introduction/algorithms_are_everywhere.md
- 1.2. &nbsp; 算法是什么: chapter_introduction/what_is_dsa.md - 1.2. &nbsp; 算法是什么: chapter_introduction/what_is_dsa.md