数据:描述客观事物的符号,计算机可以操作的对象。
数据项:若干个数据项组成一个数据元素,是数据不可分割的最小单位。
数据元素:组成数据的、有一定意义的基本单位,在计算机中被作为整体处理。
数据对象:性质相同的数据元素的集合,数据的子集,简称为数据。
数据结构:相互之间存在一种或多重特定关系的数据元素的集合
逻辑结构:数据对象中数据元素之间的相互关系
- 集合结构
- 线性结构
- 树形结构
- 图形结构
物理结构:数据的逻辑结构在计算机中的存储形式
顺序存储结构:把数据元素存放在地址连续的存储单元里,数据间的逻辑关系和物理关系是一致的
链式存储结构:把数据元素存放在任意的存储单元里,存储单元可以是连续的,也可以是不连续的,不能反映其逻辑关系,需要一个指针存放相关联数据元素的地址,通过地址找到其位置。
抽象数据类型:一个数学模型及定义在该模型上的一组操作。
算法:解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示为一个或多个操作。
算法特性:输入输出、有穷性、确定性、可行性
算法设计特性:正确性、可读性、健壮性、高时间效率和低存储量
算法时间复杂度
大O记法:T(n)=O(f(n))
n为问题规模,f(n)为问题规模n的某个函数
常数阶O(1):与n的大小无关,执行时间恒定
O(1)<O(logn)<O(n)<O(nlogn)<O(n2)<O(n3)<O(2n)<O(n!)<O(nn)
平均时间复杂度,最坏时间复杂度
算法空间复杂度:
S(n)=O(f(n))
n为问题规模,f(n)为问题规模n所占存储空间的函数