一、数据结构
数据结构的定义:
抽象数据类型(Abstract Data Type,简写ADT)的物理实现。
计算机内存储、组织数据的方式。
1、抽象数据类型:
数据类型:包括数据对象集和数据集合相关的操作集两个部分。
抽象:指不依赖具体实现。
二、算法
1、算法的定义
(1)一个有限的指令集
(2)有输入(如果有的话)
(3)有输出
(4)在有限步骤内终止
(5)每一条指令应当满足:
a、明确
b、计算机能处理
c、描述,不依赖具体实现
2、好的算法:
考虑时间复杂度T(n)和空间复杂度S(n)。
时间复杂度指的是执行时间与数据量n的关系。
空间复杂度指的是占用内存与数据量n的关系。
3、时间复杂度
T(n)=O(f(n))表示存在C>0,n0>0,当n≥n0时,有T(n)≤Cf(n),即有上界。
T(n)=Ω(f(n))表示存在C>0,n0>0,当n≥n0时,有T(n)≥Cf(n),即有下界。
T(n)=β(f(n))表示同时存在上述两种情况。