数据结构的基本概念
数据
在计算机科学中,数据指能输入到计算机中并被计算机程序识别和处理的符号的集合。
数据元素
数据的基本单位。在计算机程序中常作为一个整体进行考虑和处理。
如学生组成班级,每个学生是数据元素;而对于一个学生来说,每个数据项id,name,class...又可作为数据元素。
数据结构
某一数据元素集合中数据元素之间的关系。
Data_Structure={D,R}:
D是数据元素的集合,R是数据元素之间==关系==的有限集合。
数据元素之间的抽象关系(逻辑结构)
集合
在这里插入图片描述
线状结构
在这里插入图片描述
树状结构
在这里插入图片描述
图或网状结构
在这里插入图片描述
数据结构的储存类型
顺序存储结构
- 按顺序依次储存,无索引。
在这里插入图片描述
链接存储结构
- 每一个储存位置都对应下一个储存位置的地址索引。
在这里插入图片描述
索引存储结构
- 每个文件都对应一个地址索引,储存到相应位置。
在这里插入图片描述
散列存储结构
-
根据数据本身特征决定存储位置索引地址,如下图
在这里插入图片描述
抽象数据类型
数据类型
一组值的集合==以及==一组相关的操作。
基本数据类型
- C语言中的int、float、double;
- 运算符号:+、-、*、/、%、<、>、<=、>=、==、!=、=
构造数据类型
(struct定义)
Typedef struct
{
double data[10];
int length;
}DataList;
抽象数据类型
定义
- 由用户定义,表示问题的数据模型。
- 由其他数据类型组成,==并==包括一组相关操作(class定义)。
class Rectangl //矩形
{
float width; //宽
float height; //高
public:
Rectangle(float w, float h);//构造函数
float Cumference();//返回矩形周长
float Area()//返回面积
}
三大特征
- 信息隐藏:分为==共有和私有==,可以减少接口复杂性,从而减少出错的机会。
- 数据封装:数据与操作封装在一起,从==语义==上更加完整。
- 使用和实现分离:只能通过接口上的操作来访问数据,使修改局部化,==提高系统灵活性==。