数据结构的基本概念
Terminology
数据 Data
-
信息的载体,描述所有能输入到计算机并被计算机识别和处理的符号集合
数据元素 Data Element
-
数据的基本单位,常作为整体进行考虑
数据对象 Data Object
-
具相同性质的数据元素的集合,是数据的一个子集
数据类型 Data Type
-
一个值的集合、定义在此集合上的一组操作
-
分类:原子类型 结构类型 抽象数据类型
- 原子类型:值不可再分
- 结构类型:值可再分为若干成分
- 抽象数据类型 ADT:抽象数据组织及相关操作
- 是数据对象、数据关系、基本操作集表示的三元组
数据结构 Data Structure
-
相互之间存在一种或多种特定关系的数据元素的集合
数据结构三要素
1、数据的逻辑结构
-
def 数据元素之间的逻辑关系
-
分类:线性结构 非线性结构
- 线性结构(有序数据元素的集合):线性表 栈 队列 双队列 串 数组
- 特点:数据结构之间存在一对一的线性关系
- 非线性结构:数组 广义表 集合 树 二叉树 图
- 线性结构(有序数据元素的集合):线性表 栈 队列 双队列 串 数组
2、数据的存储结构
-
def 数据结构在计算机中的表示,包括数据元素的表示和关系的表示
-
分类:顺序存储 链式存储 索引存储 散列存储
顺序存储
-
def 把逻辑上的相邻元素存储在物理位置上也相邻的存储单元中
-
优点:实现随机存取,每个元素占用最少存储空间
-
缺点:只能使用相邻的一整块存储空间,可能产生较多外部碎片
链式存储
-
def 不要求物理位置上相邻,借助指针表示元素间的逻辑关系
-
优点:充分利用存储单元,无碎片
-
缺点:指针占用额外存储空间,且只能顺序存取
索引存储
-
def 存储元素信息并建立附加的索引表
-
优点:检索速度快
-
缺点:费时,增删需修改索引表
散列存储
-
def 根据元素关键字直接计算出存储地址
-
优点:检索、增删结点快速
-
缺点:散列函数不好会引起冲突,而解决增加开销
3、数据的运算
-
def 运算的定义和实现
- 定义 —— 逻辑结构, 指出运算的功能
- 实现 —— 存储结构,指出运算的具体操作步骤