一、概念
在我们的平时使用的开发语言中,同一类型的数据,往往都需要使用标识某一类型的容器来进行存储;比如所用到的数组、集合等等。这样带来的效果往往是不一样的,有的提供了较快的查询操作,如数组、哈希表等,而有的则能够支持快速的存储操作,如链表;这样根据不同的需求进行数据存储的就是数据结构(相互之间存在有一种或多种特定关系的数据元素的集合)
数据:包括开发中的整数、浮点数等数值类数据,也包括了日常中的文字、图片等
数据元素:数据的基本单位,比如一个字符串数据,它的数据元素就是字符
数据结构:相互之间存在一种或多种特定关系的数据元素的集合。数据结构也分为静态、动态两种,比如数组这样的元素之间的关系不变的是静态数据结构,链表这样的元素个数和元素关系因为增删会发生变化的称为动态数据结构
二、逻辑结构
数据的各个元素之间存在一定的关系,这样导致存储的时候会存在不同的形式;有的是线性结构,有的是树状结构,当然这样的结构称为逻辑结构;最后数据是会录入到真实的磁盘中的,这称为物理结构
逻辑结构:数据结构实例中的各个数据元素之间存在的相互关系
常见的4中逻辑结构:
1、集合结构:结构中的数据元素之间除了同属于一个集合外,没有其他的关系
2、线性结构:结构中的数据元素之间存在着一对一的关系,如线性表、向量、栈、队列、哈希表
3、树形结构:结构中的数据元素之间存在一对多的关系,如二叉树
4、图形结构:结构中的数据元素之间存在着多队多的关系,也称为网状结构,如有向图
三、物理结构
对于上面的介绍,一个数据仅仅只有逻辑结构是不行的(数据最终是要落入到磁盘中的)
物理结构:物理结构是数据的逻辑结构在计算机中的真实存储形式,可以理解是逻辑结构在计算机上的真实体现,也称为存储结构
四、小结
在实际的开发过程中,我们应该根据实际的需求而选择对应的数据结构(逻辑结构),选择对应的逻辑结构之后,再按照对应的逻辑结构的规范将对应的数据存储进计算机中(逻辑结构的确立会直接影响到存储结构的构建)