diff --git a/codes/javascript/chapter_stack_and_queue/array_deque.js b/codes/javascript/chapter_stack_and_queue/array_deque.js index d47a6044d..c7adc8548 100644 --- a/codes/javascript/chapter_stack_and_queue/array_deque.js +++ b/codes/javascript/chapter_stack_and_queue/array_deque.js @@ -4,7 +4,6 @@ * Author: Zhuo Qinyue (1403450829@qq.com) */ - /* 基于环形数组实现的双向队列 */ class ArrayDeque { #nums; // 用于存储双向队列元素的数组 diff --git a/docs/chapter_array_and_linkedlist/linked_list.md b/docs/chapter_array_and_linkedlist/linked_list.md index 3516e290c..2f72e0eb2 100755 --- a/docs/chapter_array_and_linkedlist/linked_list.md +++ b/docs/chapter_array_and_linkedlist/linked_list.md @@ -378,7 +378,7 @@ [class]{}-[func]{insert} ``` -在链表中删除结点也很方便,只需要改变一个结点指针即可。如下图所示,虽然在完成删除后结点 `P` 仍然指向 `n2` ,但实际上 `P` 已经不属于此链表了,因为遍历此链表是无法访问到 `P` 的。 +在链表中删除结点也很方便,只需要改变一个结点指针即可。如下图所示,虽然在完成删除后结点 `P` 仍然指向 `n1` ,但实际上 `P` 已经不属于此链表了,因为遍历此链表是无法访问到 `P` 的。 ![链表删除结点](linked_list.assets/linkedlist_remove_node.png) diff --git a/docs/chapter_preface/about_the_book.assets/hello_algo_mindmap.png b/docs/chapter_preface/about_the_book.assets/hello_algo_mindmap.png index 131251da7..c0f3dc066 100644 Binary files a/docs/chapter_preface/about_the_book.assets/hello_algo_mindmap.png and b/docs/chapter_preface/about_the_book.assets/hello_algo_mindmap.png differ diff --git a/docs/chapter_preface/about_the_book.md b/docs/chapter_preface/about_the_book.md index cc4f469dd..5e200a83f 100644 --- a/docs/chapter_preface/about_the_book.md +++ b/docs/chapter_preface/about_the_book.md @@ -1,12 +1,10 @@ # 关于本书 -五年前发生的一件事,成为了我职业生涯的重要转折点。当时的我在交大读研,对互联网求职一无所知,但仍然硬着头皮申请了 Microsoft 软件工程师实习。面试官让我在白板上写出“快速排序”代码,我畏畏缩缩地写了一个“冒泡排序”,并且还写错了` (ToT) ` 。从面试官的表情上,我看到了一个大大的 "GG" 。 +本项目致力于构建一本开源免费、新手友好的数据结构与算法入门书。 -此次失利倒逼我开始刷算法题。我采用“扫雷游戏”式的学习方法,两眼一抹黑刷题,扫到不会的“雷”就通过查资料把它“排掉”,配合周期性总结,逐渐形成了数据结构与算法的知识图景。幸运地,我在秋招斩获了多家大厂的 Offer 。 - -回想自己当初在“扫雷式”刷题中被炸的满头包的痛苦,思考良久,**我意识到一本“前期刷题必看”的读物可以使算法小白少走许多弯路**。写作意愿滚滚袭来,那就动笔吧: - -

Hello 算法!

+- 全书采用动画图解,结构化地讲解数据结构与算法知识,内容清晰易懂、学习曲线平滑; +- 算法源代码皆可一键运行,支持 Java, C++, Python, Go, JS, TS, C#, Swift, Zig 等语言; +- 鼓励读者在章节讨论区互帮互助、共同进步,提问与评论一般能在两日内得到回复; ## 读者对象 @@ -22,7 +20,7 @@ ## 内容结构 -本书主要内容分为复杂度分析、数据结构、算法三个部分。 +本书主要内容有: - **复杂度分析**:数据结构与算法的评价维度、算法效率的评估方法。时间复杂度、空间复杂度,包括推算方法、常见类型、示例等。 - **数据结构**:常用的基本数据类型,数据在内存中的存储方式、数据结构分类方法。数组、链表、栈、队列、散列表、树、堆、图等数据结构,内容包括定义、优劣势、常用操作、常见类型、典型应用、实现方法等。 diff --git a/docs/chapter_preface/summary.md b/docs/chapter_preface/summary.md new file mode 100644 index 000000000..55a5abbe2 --- /dev/null +++ b/docs/chapter_preface/summary.md @@ -0,0 +1,8 @@ +# 小结 + +- 本书主要面向算法初学者。对于已经有一定积累的同学,这本书可以帮助你系统回顾算法知识,源代码可被当作“刷题工具库”来使用。 +- 书中内容主要分为复杂度分析、数据结构、算法三部分,覆盖了该领域的大部分主题。 +- 对于算法小白,在初学阶段阅读一本入门书是非常有必要的,可以少走许多弯路。 +- 书内的动画和图解往往介绍的是重点和难点知识,在阅读时应该多加关注。 +- 实践是学习编程的最佳方式,强烈推荐运行源代码,动手敲代码。 +- 本书提供了讨论区,遇到疑惑可以随时提问。 diff --git a/docs/chapter_stack_and_queue/deque.md b/docs/chapter_stack_and_queue/deque.md index f454d6ae4..675b72d0e 100644 --- a/docs/chapter_stack_and_queue/deque.md +++ b/docs/chapter_stack_and_queue/deque.md @@ -439,7 +439,7 @@ === "JavaScript" - ```js title="array_deque.js" + ```javascript title="array_deque.js" [class]{ArrayDeque}-[func]{} ``` diff --git a/mkdocs.yml b/mkdocs.yml index 2fb31a098..3d3f166aa 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -127,6 +127,7 @@ nav: - 0.     写在前面: - 0.1.   关于本书: chapter_preface/about_the_book.md - 0.2.   如何使用本书: chapter_preface/suggestions.md + - 0.3.   小结: chapter_preface/summary.md - 1.     引言: - 1.1.   算法无处不在: chapter_introduction/algorithms_are_everywhere.md - 1.2.   算法是什么: chapter_introduction/what_is_dsa.md