数据结构中的逻辑结构(附上c++中的常见数据结构的逻辑结构) | 您所在的位置:网站首页 › 逻辑结构设计是什么意思 › 数据结构中的逻辑结构(附上c++中的常见数据结构的逻辑结构) |
最近在学习数据结构,有必要对自己这两天的学习做一个总结,今天就来总结下,数据结构的逻辑结构 按照分类标准的不同,我们把数据结构分为逻辑机构和存储结构,今天主要讲解逻辑结构 逻辑结构:是指数据对象中的数据元素之间的相互关系,主要分为以下四种结构 1.集合结构 集合结构中的数据元素处理同属于一个集合里,它们之间没有其他关系。各个数据元素是“平等”的,它们的共同属性是“同属于一个集合”。数据结构中的集合关系就类似于数学中的集合,满足集合的三个基本性质,确定性,互异性,无序性,而满足这个性质的应该只有C语言里的结构体满足这个条件,因为结构体里的数据无序,互异,确定。 2.线性结构 线性结构中的数据元素之间存在一对一的关系,满足这个关系的有 线性表(数组,vector,链表),队列,栈,串 下面具体解释下原因:先看定义 线性表:零个或者是多个数据元素的有限序列。 下面对其定义进行下充分的解读,首先它是一个序列,也就是说元素之间是有顺序的,若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他每个元素都有且之后一个前驱和后继。然后线性表强调是有限的,当元素个数为零个时称为空表。 所以线性表的元素之间是满足一对一的关系的 栈:栈(stack)是限定仅在表尾进行插入和删除操作的线性表,是一种特殊的线性表,所以属于线性结构 队列:队列(queue)是只允许在一端进行插入操作,而在另外一端进行删除操作的线性表,是一种特殊的线性表,所以属于线性结构 串:串(string)是由零个或者多个字符组成的有限序列。 看定义我们就能清楚的看到,串是特殊的线性表,只是把定义中的数据元素换成了特定的字符元素,所以串也是属于线性结构 一般情况下,把栈,队列,串,分为一组叫受限线性表。 3.树形结构 树形结构中的数据元素之间存在一种一对多的层次关系,一般分为一般树和二叉树,满足这个关系的有 set,map 4.图形结构 图形结构的数据元素是多对多的关系,一般分为有向图和无向图, 最后可以画一个思维导图进行下总结 由于暂时没有找到之前画的图,这里有一处错误更正,集合的常见结构不是结构体,结构体本身不算是数据结构,因为结构体里存放的不是相同的数据元素,这里的集合应该是哈希表,又叫散列表。 |
CopyRight 2018-2019 实验室设备网 版权所有 |