1.1数据结构的研究内容
程序=数据结构+算法 ———程序的本质
例1:图书管理系统
操作对象:若干行数据记录
操作算法:查询、插入、删除、修改等
操作对象之间的关系:线性关系
数据结构:线性数据结构、线性表
例2:文件系统的结构图
如图可以看到,这是一个典型的树型结构问题,数据与数据成一对多的关系,是一种典型的非线性关系——树型结构
例3:地图导航寻找最短路径
图
操作对象:各地点及路的信息
算法:设置信号灯,求各可通行的路的集合
关系:非线性关系、网状结构
综上:
数据结构是一门研究非数值计算的程序设计中计算机的操作对象以及它们之间的关系和操作的学科。
1.2.1数据、数据元素、数据项和数据对象
1.数据(Data)
是输入计算机且能被计算机处理的各种符号的集合,这个集合包括数值型的数据(整数、实数等)和非数值型的数据(文字、图像等)
信号的载体
是对客观事实符号化的表示
能够被计算机识别、存储和加工
2.数据元素(Data element)
是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
也可以被称为元素、记录、结点(树)、顶点(图)。
一个数据元素可由若干数据项组成。
3.数据项(Data Item)
构成数据元素的最小单位。
数据、数据元素、数据项之间的关系:
数据 > 数据元素 > 数据项
4.数据对象(Data Object)
是性质相同的数据元素的集合,是数据的一个子集。
例:整数的数据对象是集合N={0,+1,-1,+2,-2......}
数据元素与数据对象
数据元素——组成数据的基本单位
与数据的关系:是集合的个体
数据对象——性质相同的数据元素的集合
与数据的关系:集合的子集
1.2.2数据结构(Data Structure)
(1)数据元素不是孤立存在的,它们之间存在着某种关系,数据元素相互之间的关系称为结构
(2)是指相互之间存在一种或多种特定关系的数据元素集合
(3)也可以理解为数据结构是带结构的数据元素的集合
1.内容
(1)数据元素之间的逻辑关系,也称为逻辑结构。
(2)数据元素及其关系在计算机内存中的表示(映像),称为数据的物理结构或存储结构。
(3)数据的运算和实现,即对数据元素可以施加的操作以及这些操作在相应的存储结构上的实现。