modify the format.

This commit is contained in:
Shine wOng
2019-10-15 19:10:00 +08:00
parent 22de3cb18c
commit 4da83c0bd8

View File

@@ -4,7 +4,9 @@
## 知识脉络
本章主要讨论算法的基本概念与基本知识。一开始指出了算法的概念,并且通过算法的三个历史发展来进一步阐述什么是算法。在客观世界中,解决同一个问题往往具有许多不同的方法,即存在不同的算法,因此需要就这些不同的算法的性能进行评价,为了消除外界因素的影响,需要引入理想模型,即图灵机和随机存取机`RAM`,并且在此基础上提出了`渐进分析`的概念。`渐进分析`具有三种(四种)不同的记号,它们具有不同的含义,通过这些记号就可以实现对算法的评估了。
接下来的内容主要是对上面知识的应用,即在两种特定情形——迭代与递归——下,如何对算法的效率进行评价。对于迭代算法而言,核心的方法就是级数求和,借助图形来进行分析却更有直观性;对于递归算法而言,核心的方法是递归跟踪和递推公式,并且结合两个具体的实例`sum``max2`来分别阐述迭代和递归算法的效率分析。
正如客观世界的发展一样,算法的设计过程往往也是曲折的,具有一个从`work``right`再到`fast`的发展过程,也就是动态规划的概念。动态规划是指,分析一开始设计出来的效率较低的算法,找到它低效的原因,随后自底向上对它进行改进。接下来通过两个具体的例子,即`fib``lcs`,详细说明了对它们进行动态规划的步骤。
## 为什么需要数据结构和算法