01.数据结构基础—绪论
一、基本概念
1.数据
数据是信息载体,所有能输入到计算机中并被计算机程序识别和处理的符号的集合,在计算机内以二进制0,1表示。
2.数据元素,数据项
数据元素:数据的基本单位,通常作为整体进行处理
数据项:构成数据元素的不可分割的最小单位
下面举两个例子:
3.数据对象,数据结构
数据结构:相互之间存在一种或多种特定关系的数据元素的集合
数据对象:具有相同性质的数据元素的集合,是数据的子集
下面还是一个简单的例子:
4.数据结构三要素
4.1逻辑结构
如字面意思,指数据元素之间的逻辑关系
4.1.1集合:
4.1.2线型结构
4.1.3树状结构
4.1.4网状结构
4.2物理结构(存储结构)
如何用计算机表示数据元素的逻辑关系,下面简单按线型结构分析
4.2.1顺序存储
逻辑上相邻的元素储存在物理位置中相邻的储存单元中
4.2.2链式储存
逻辑上相邻的元素储存在物理位置上可以不相邻。用指示元素储存地址的指针来表示。
4.2.3索引储存
建立索引表,里面包含索引项,索引项一般为:(关键字,地址)
4.2.4散列存储
根据元素关键字直接计算出存储位置,也称为哈希(Hash)存储
后续介绍
1.顺序存储,物理上连续,非顺序存储,可以是离散的
2.存储结构影响储存空间分配的方便程度
3.存储结构影响对数据运算的速度
4.3数据的运算
包括针对逻辑结构的:运算的定义;针对存储结构的:运算的实现
5.数据类型,抽象数据类型
5.1数据类型
一个值的集合和定义在此集合上的一组操作的总称
例如:int类型,值的范围:-2147483648~2147483647,操作范围:加,减,乘,除……
- 原子类型:其值不可再分。 如int,bool
- 结构类型:其值可以再分解为若干个分量。例如:定义一个顾客的结构,我们可以对里面具体的信息(号数,就餐人数)进行操作
5.3抽象数据类型
Abstract Data Type(ADT),抽象数据组织及与之相关的操作
用数学化的语言定义数据的逻辑结构,定义运算。只有当要去实现这个数据结构时,才会涉及到存储结构