数学模型:
数值问题:方程
非数值问题:字符串、集合、树、图...
数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及他们之间的关系和操作的科学。
数据:
数据元素:
数据对象:性质相同的数据元素的集合
数据结构:相互之间存在一种或多种关系的数据元素的集合。
数据元素之间的关系——结构。
四种基本结构:集合、线性结构、树形结构、图形结构(网状)
集合:数据和数据之间没什么关系
线性结构:每一个数据之间具备先后顺序
树状结构:
图像结构:
数据结构的定义形式:
一个二元组:Data_structure(D,S)
D为数据元素的集合 S是D上的关系集合
例如:
Group = (people,relation)
人包括一个老师和多个学生
关系包括师生关系和学生关系
逻辑结构:数据之间的逻辑关系
可以分为:集合、线性结构、树形结构、图形结构
物理结构:数据在计算机中的存储方法(表现和实现)
可以分为:顺序结构、链式结构
数据类型:(一般数据类型)一个值的集合 + 一组操作
抽象数据类型(ADT):数据结构 + 定义在结构上的操作
三元组表示:
D:数据
S:D上的关系
P:D上的操作
算法五个特性:有穷性、确定性、可行性、输入、输出
算法设计要求:时间、空间 复杂度
时间复杂度:T(n) = O(f(n)) 重复执行次数作为依据
空间复杂度:S(n) = O(f(n)) 输入数据空间+程序占内存+辅助变量空间