数据结构
一、绪论
1、数据
- 数值型数据:整数、实数等
- 非数值类型的数据:文字、图像、图形、声音等
2、数据元素
- 是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理
- 简称元素,或记录、节点、顶点
3、数据项
- 构成数据元素的不可分割的最小单元
4、数据对象
- 是性质相同的数据元素的集合,是数据的一个子集
5、逻辑结构
- 集合结构
- 线性结构
- 树形结构
- 图状结构
6、存储结构
- 顺序结构
- 链式结构
- 索引结构
- 散列结构
7、数据类型
- 一组性质相同的值的集合以及定义于这个值集合上的一组操作的总称
8、抽象数据类型 abstract date type(ADT)
-
一个数学模型以及定义在此数学模型上的一组操作
-
抽象数据类型可用(D,S,P)三元组表示
其中:D是数据元素;
S是D上的关系及;
P是对D的基本操作集。
-
一个抽象数据类型的定义格式如下:
ADT 抽象数据类型名{
数据对象:<数据对象的定义>
数据关系:<数据关系的定义>
基本操作:<基本操作的定义>
} ADT 抽象数据类型名
PS:数据对象、数据关系的定义用伪代码描述
- 基本操作的定义格式:
- 基本操作名 (参数表)
- 初始条件: (初始条件描述)
- 操作结果: (操作结果描述)
- Circle的定义
ADT Circle {
数据对象:D={
r,x,y|r,x,y均为实数}
数据关系:R={
<r,x,y>|r是半径,<x,y>是圆心坐标}
基本操作:
Circle(&C,r,x,y)
操作结果:构造一个圆。
double Area(C)
初始条件:圆已存在。
操作结果:计算面积。
double Circumference(C)
初始条件:圆已存在。
操作结果:计算周长。
......
} ADT Circle
- 复数的定义
ADT Complex{
D={
r1,r2|r1,r2都是实数}
S={
<r1,r2>|r1是实部,r2是虚部}
assign(&C,v1,v2)
初始条件:空的复数C已存在。
操作结果