数据结构与算法概要
一、数据结构三要素
1.逻辑结构
数据之间的逻辑关系
(1)集合
(2)线性
(3)树形
(4)网状
2.物理结构
计算机用何种逻辑关系存储
(1)顺序存储
(2)链式存储
(3)索引存储
(4)散列存储
3.数据运算
二、数据类型与抽象数据类型
1.数据类型
一个值得集合和定义在这个值集合上的一组操作的总称
(1)原子类型
如 bool、int
(2)结构类型
如 struct
2.抽象数据类型(ADT)
只考虑逻辑结构和算法,不考虑在计算机如何存储的
三、算法
1.算法特性
- 有穷性
- 确定性
- 可行性
- 输入
- 输出
2.算法的设计要求
- 正确性
- 可读性
- 健壮性
- 效率与低存储量需求
3.算法的效率
如何判断算法的效率高不高
(1)时间复杂度
时间T与问题规模n的关系
例如:
void fun(int n) { for (int i = 0; i < n; i++) { } }
T(n)= O(n)
(2)空间复杂度