# 写在前面

本书并不打算详尽的解释有关数据结构和算法的所有概念，仅仅是简单轻松的一个入门教程。你可以从本书学到足够的东西来解决普通的问题，但也许仅仅只能解决简单问题。

如果你看了本书之后，觉得数据结构与算法并没有那么难，并且想要去找更多资料去学习。那么我推荐你可以首先学习 C，它是一门很简单的编程语言，并且贴近计算机的底层，你可以自由的掌握每一个字节的比特，快意的使用指针构建任何系统，没有多余的东西来干扰你的思路。使用它学习数据结构，可能是每个有兴趣研究计算机世界基础的程序员的必经之路。

在读这本书之前，你至少需要知道 Python 的一些基础语法，和基本的使用方式。如果你是一个 Python 初学者，对 Python 并不熟悉，那么推荐你去同样在 Gitbook 上发布的[《简明Python教程》](https://bop.mol.uno/)，我刚接触编程时，也看的是那本。

在阅读这本书时，你可能会见到一些没有见过的词汇，对于过度复杂的词汇，我会在书中解释。但如果我没解释(这意味着它们并不难以理解或者定义十分简单)，别怕，尝试使用搜索引擎(最好是 Google 或者 DuckDuckGo)查询它们的含义。

本书全部代码均会在 Python3.7 环境下进行验证，全部源码在 [Github](https://github.com/AberSheeran/Algorithm)，以供参考。

由于本人水平有限，如有错误，还望读者斧正。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://algorithm.books.abersheeran.com/master.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
