2.2.2 数据结构概述

简单来说,数据结构是指相互之间存在特定关系的数据元素的集合(其中的数据元素是数据的基本单位,在计算机中通常被作为一个整体来看待)。数据结构包含两部分含义,一部分是数据,即指所包含的数据元素;一部分是结构,即指数据元素之间的相互关系。一般的,根据数据元素间相互关系的特性,通常可以分为4种基本结构:

  • 集合,所有数据元素除属于同一集合外,无其他关系;
  • 线性结构,数据元素之间存在1对1的关系;
  • 树形结构,数据元素之间存在1对多的关系;
  • 图状结构或网状结构,数据元素之间存在多对多的关系。

针对上述四种结构,我们各举一例说明如下:

  • 集合,比如一个班级中有30名同学,这30名同学本身没有什么关系,唯一的关系就是同属于一个集体,即同属于一个班级;
  • 线性结构,比如我们去食堂打饭,在一个窗口前有10名同学正在排队,那么这10名同学及其排队顺序就构成了一个线性结构(排队顺序可以使10名同学存在着一一对应的关系,即同学A的后面是同学B,同学B的后面是同学C,依次类推);
  • 树形结构,比如计算机学院包含了三个专业(网络工程、软件工程、计算机技术),那么计算机学院和这三个专业就构成了一个树形结构(学院与专业间存在着1对多的关系);
  • 图状结构或网状结构,比如学生和老师就构成了一个图状结构,因为一个学生可以有多个老师,而一个老师也可以有多个学生,他们是多对多的关系;

一般的,数据结构可以用一个二元组来描述,记为B=(D,R),其中B表示数据结构,D表示包含的数据元素,R表示各数据元素之间关系的集合。我们举例阐述如下:

假设有4名同学,组成了2对情侣,那么用数据结构可以描述为

B=(D,R),

D={男同学A,男同学B,女同学C,女同学D},表示该数据结构中包含的数据元素,即包含4位同学;

R={(男同学A,女同学C),(男同学B,女同学D)},表示数据元素间的关系,即A和C是情侣关系,B和D是情侣关系;

1、数据的逻辑结构与存储结构

数据结构又分为数据的逻辑关系和数据的存储结构(物理结构)。数据的逻辑结构反映的是数据元素之间的逻辑关系,可以用数学模型来描述,比如上面提到的二元组。而数据的存储结构,又称物理结构,是指数据的逻辑结构在计算机中的具体实现方式,它包含数据元素在计算机中的表示和数据元素间的关系在计算机中的表示。我们举例阐述如下:

比如,有一个数据结构,是线性结构,用来表示学校单位的从属关系,班级从属于专业,专业从属于学院,学院从属于学校,这就是一个逻辑关系,用数学模型二元组表示:

B=(D,R),

D={班级,专业,学院,学校}

R={(班级,专业),(专业,学院),(学院,学校)}

如果在计算机中我们使用顺序空间来表示数据元素及其关系,即我们将数据元素(班级、专业、学院、学校)按顺序依次存储,依次关系则用来表示从属关系。这个顺序存储就是其存储结构了。

                                                       图2.2.1计算机中的存储结构

2、数据结构的图形表示

    上面提到,一个数据结构可以用数学模型二元组来表示,但其实我们也可以用图形来表示数据结构,比如上面提到的学校单位的从属关系,则可以用图形表示如下:

图2.2.2 数据结构图形表示示例

    一般的,在图形表示中,我们用中间标有元素值的方框表示数据元素,称之为数据节点(简称节点);用有向线段表示数据元素间的关系。再比如,反映家庭成员间辈分关系的数据结构可表下:

                              

                    图2.2.3 数据结构图形表示示例

3、线性结构与非线性结构

    数据结构可以简单的分为两大类型,即线性结构和非线性结构。

  • 线性结构是指有序数据元素的集合,数据元素之间的关系都是一对一的,即除了第一个和最后一个数据元素外,其他数据元素的关系都是首尾相接的(简单的说,就是除了头尾元素外,其他元素都和其相连的前后元素存在一对一关系)。比如上面提到的学校单位从属关系的数据结构就是一个线性结构;
  • 非线性结构,不属于线性结构的都是非线性结构,它表示每个数据元素可能与零个或多个其他数据元素存在关系;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值