1、建立数学模型——构造求解方法——选择存储结构——编写程序——测试
2、数据结构+算法=程序
3、主要用于非数值型数据处理
4、数据结构的相关概念:
数据:数值型(整数+实数等)、非数值型(声音、图像、文字)
数据元素:不可分割的数据的基本单位,独立的描述问题
数据项:构成数据元素的最小单位,不可被分割
数据结构:相互之间存在一种或多种特定关系的数据元素的结合。
5、分类:
集合:数据元素之间属于同一集合
线性结构:数据元素之间存在一对一的关系
树形结构:数据结构之间存在一对多关系
图状结构或网状结构:数据结构之间存在多对多的关系
6、物理结构(存储结构):
顺序存储结构:数组实现
链式存储结构:通过指针链表方式实现
7、逻辑结构:就是数据元素之间的关联关系或邻接关系
8、算法的设计主要依赖于逻辑结构而实现主要依赖的是物理结构
9、算法的特性:有穷性——确定性——可行性——有输入——有输出
10、算法设计的要求:正确性——可读性——健壮性——效率与存储量需求
11、算法的性能分析:
时间复杂度:原子操作最坏情况下执行的次数,取最高阶忽略常数。
常数阶层<对数阶<线性阶<线性对数阶<平方阶<立方阶<指数阶<阶层阶<n次幂阶
空间复杂度:忽略,编程是多考虑的是时间上复杂度。