第一章 绪论

1.1 数据结构的基本概念
1.1.1 基本概念和术语

- 数据



- 数据元素、数据项

- 数据对象、数据结构


- 数据类型、抽象数据类型



1.1.2 数据结构三要素

逻辑结构
逻辑结构:指数据元素之间的逻辑关系,即从逻辑关系上描述数据。
1)集合

2)线性结构

3)树形结构

4)图结构

数据的运算
运算的定义是针对逻辑结构的,指出运算的功能;
运算的实现是针对存储结构的,指出运算的具体操作步骤。

物理结构
数据的物理结构(存储结构):指数据结构在计算机中的表示(又称映像)。数据的存储结构是用计算机语言实现的逻辑结构。
- 顺序存储

- 链式存储

- 索引存储

- 散列存储

注意:



1.2 算法和算法评价
1.2.1 算法的基本概念

- 什么是算法


- 算法的五个特性(算法必须具备的特性)
1)有穷性

2)确定性

3)可行性:算法中描述的操作都可以通过已经实现的 基本运算执行有限次 来实现。
4)输入:一个算法 有零个或多个输入,这些输入取自于某个特定的对象的集合。
5)输出:一个算法 有一个或多个输出,这些输出是与输入有着某种特定关系的量。
- "好"算法的特质(设计算法时要尽量追求的目标)
1)正确性。算法应能够正确地解决求解问题 。
2)可读性。算法应具有良好的可读性,以帮助人们理解。
3)健壮性。输入非法数据时,算法能适当地做出反应或进行处理,而不会产生莫名其妙的输出结果。
4)高效率 与 低存储量需求。即 花的时间少,时间复杂度低 和 不费内存,空间复杂度低。

1.2.2 算法效率的度量

时间复杂度


只考虑阶数,用大O表示法
问题一:


✨✨✨


问题二:如果有好几千行代码


即:

例子:


算法的时间复杂度:


空间复杂度

空间复杂度:

函数递归调用带来的内存开销:


