数据结构的总体分析

数据结构是指互相之间存在着一种或多种关系的数据元素的集合。

一、数据的逻辑结构

系统的逻辑结构是从思想的角度上对系统分类,把系统分成若干个逻辑单元,不同逻辑单元分别实现自己的功能。数据的逻辑结构是对数据之间关系的描述,有时就把逻辑结构简称为数据结构,逻辑结构包含两个元素:数据元素的集合与关系的集合。

在形式上,数据的逻辑结构通常可以采用一个二元组来表示:

Data_Structure = (D,R)

D是数据元素的有限集,R是D上关系的有限集,R是D上关系的有限集。通常分为四类:集合,线性结构,树形结构和图形结构

1、集合:集合结构的集合中任何两个数据元素之间都没有逻辑关系,组织形式松散。

在这里插入图片描述

2、线性结构:数据结构中线性结构指的是数据元素之间存在着“一对一”的线性关系的数据结构。

在这里插入图片描述

3、树状结构:树状结构是一个或多个节点的有限集合。

在这里插入图片描述

4、网状(图形)结构:网络结构是指通信系统的整体设计,它为网络硬件、软件、协议、存取控制和拓扑提供标准。

在这里插入图片描述

扫描二维码关注公众号,回复: 13557013 查看本文章

二、数据的的存储结构

数据的存储结构最常用的是顺序存储和链式存储的方法

顺序存储方法:

把逻辑上相邻的元素存储在物理位置相邻的存储单元中,节点间逻辑关系有存储单元的邻接关系来体现,通常借助数组实现。

链式存储方法:

对逻辑上相邻的元素不要求其物理位置相邻,元素间的逻辑关系通过附设的指针字段来表示,通常借助指针实现

除了顺序存储方法和链式存储方法,为了查找方便还采用索引存储方法和散列存储方法

索引存储方法:

在存储结点信息的同时,还建立附加的索引表。索引表中的每一项包含关键字和地址,关键字是能够唯一标识一个数据元素的数据项,地址指出数据元素所在的存储位置。索引存储主要是针对数据内容的存储,不强调关系的存储,主要面对查找操作。

散列存储方法:

以数据元素的关键字的值为自变量,通过某个函数(散列函数)计算出该元素的存储位置。散列存储也是针对数据内容的存储方式。

三、数据的运算

运算是对数据的处理。运算与逻辑结构紧密相连,每个逻辑结构都有一个运算的集合。可分为两种类型:引用型运算和加工型运算

引用型运算

不改变数据结构中原有的数据元素的状态,只根据需要读取某些信息。

加工型运算

这类运算的结果会改变数据结构中原有数据的状态,如数据元素的内容、个数等。

数据的运算是定义在数据的逻辑结构上的,但运算的具体实现是在数据的存储结构上进行的。在数据的逻辑结构和存储结构给定之后,如果定义的运算集及运算的性质不同,也会导致完全不同的数据结构,例如线性表、栈和队列等。

猜你喜欢

转载自blog.csdn.net/weixin_44927247/article/details/116306470