1.什么是数据结构:
研究数据间的联系和和选择与设计高效率的算法
研究的内容:
- 计算机要处理的数据本身
- 数据的各种逻辑关系(逻辑结构)和存储表示(物理结构)
- 对每种结构定义相适应的各种运算
- 设计出相应的算法,分析算法效率
2. 数据结构的四个逻辑结构
①线性结构:一对一
②树形结构:一对多型
③图形结构:多对多
④集合结构:松散的
3.常见的数据结构
数组,栈,队列,表,串,树,图,文件
4.数据
1.什么是数据:所有能够被计算机识别的符号集合(例如:字母,汉字,语音,图形,图像)
2.数据元素:数据集合当中的一个“个体”,是数据结构当中讨论的基本单位,例如我们学习的这本书。
3.数据项:数据结构当中讨论的最小单位,数据元素可以是数据项的一个集合
(例如:一个运动员的而数据元素:姓名,出生日期等是数据项)
4.数据对象:数据对象是由相同性质的数据元素的集合,是数据的一个子集
(例如:迷宫数据对象中数据元素是一个个点,电话薄数据对象中的数据元素是每个人的记录,图书目录当中数据对象中的数据元素是一张张数目卡片)
5.存储结构
1.顺序存储结构:把逻辑上相邻的元素存储在物理位置相邻的存储单元中(数组)
2.在数据元素中添加一些地址或辅助结构,用于存放数据间的关系(指针)
6.数据类型
抽象数据类型:
7. 数据结构
带结构的数据元素的集合
由四元组的集合
Data_Structure=(D,L,S,O) |
|
D: 是数据元素的集合
L:数据元素之间客观存在关系的有限集,称为逻辑结构
S:D和L在计算机中的存储表示(存储结构,或者物理结构)
O: D上规定的一组操作
(数据元素,数据元素之间的逻辑关系,逻辑关系在计算机中的存储表示,以及所规定的操作)
8.算法
1. 特点
输入:有0个或多个外部量作为算法的输入
输出:算法产生至少一个量作为输出
确定性:组成算法的每条指令清晰,无歧义
有限性:算法中每条指令的执行次数有限,执行每条指令的时间也有限
2.人用计算机解决问题的5步骤
3.算法应该具备的特点
正确性
可读性
健壮性
高效性(时间短,存储少)
9.算法复杂度的分析
1.时间复杂度(计算步(算法的执行次数)):
例如数列求
T(n)=n
空间复杂度计算类似
来源:数据结构与算法_电子科技大学_中国大学MOOC(慕课)