选了18年出版的,由浙江大学教授编写的这一版,内容指向性强(简单易懂、方便记忆)、应用性强。推荐
绪论
1.2本书谈论的内容
- 数据结构的定义:是计算机存储和组织数据的方式,是相互之间存在一种或者多种特定关系的数据元素的集合。
- 为什么学习数据结构:为了学习解决问题的编程序的思路。面对一个问题是,;利用数据结构的思想,可以明白解决这个问题有多难,怎么解决是最佳的。
1.3数学知识
- 指数、对数
- 级数
3. 模运算
算法
学习目标
- 估计一个程序运行所需要的时间
- 如何降低程序运行时间
- 不恰当地使用递归所造成的后果
- 一个数乘其幂以及计算两个数的最大因数的有效算法
2.1数学基础
新学了四个定理概念:(融合了函数、增长速度、集合)
2.2模型
计算模型:(理想、简单)
- 假设在做任何一项简单工作时都需要一个时间单元。
- 计算机有无限的运行空间。
2.3考虑的问题
影响计算机运行程序解决问题的时间有以下几个因素:
- 算法的选择
- 待处理数据的规模大小
- 计算机书写程序的语言,语言级别越高,运算时间越大。
- 编译代码形成的机器代码的质量
- 计算机执行起来的速度
其中前两个为要考虑的因素,后三个为不可控因素。并且以上第一点对运行时间影响最大。我们最关心的最坏的运行情况。