数据--算法
数据
数据对象
具有相同性质的数据元素的集合,是数据的一个子集。
数据结构
相互之间存在一种或多种特定关系的数据元素的集合。
-
三要素:
-
逻辑结构:
-
集合结构
-
线性结构(一对一)
-
树状结构(一对多)
-
图状结构(多对多)
-
-
数据的运算
-
物理结构
-
数据类型,抽象数据类型
-
原子类型(值不可再分)
-
结构类型(可以再分解为若干成分的数据类型)
-
抽象数据组织及与之相关的操作
算法
概念
-
程序=数据结构(信息)+算法(过程)
特性
-
有穷性
-
确定性
-
可行性
-
输入
-
输出
“好算法”
-
正确性
-
可读性
-
健壮性(可以处理异常)
-
高效率与低存储量需求(省时省内存,时间复杂度,空间复杂度都低
时间复杂度
时间复杂度大小排序:
-
O(1)<O(log2N)<O(N)<O(Nlog2N)<O(N^2)<O(N^3)<O(2^N)<O(N!)<O(N^N)
三种复杂度:最坏时间复杂度,平均时间复杂度,最好时间复杂度
空间复杂度
空间复杂度大小排序:
-
O(1)<O(log2N)<O(N)<O(Nlog2N)<O(N^2)<O(N^3)<O(2^N)<O(N!)<O(N^N)
空间复杂度=递归调用的深度