Basics - 数据的逻辑结构和物理结构

前言

数据的存储方式可分为线性表、树和图三种存储结构,而每种存储结构又可细分为顺序存储结构和链式存储结构。数据存储方式如此之多,针对不同类型的数据选择合适的存储方式是至关重要的。

数据存储结构的选择取决于两方面,即数据的逻辑结构和存储结构(又称物理结构)。

逻辑结构

简单地理解,就是指的数据之间的逻辑关系。
在这里插入图片描述
如上图所示:这是一张家庭成员关系图,从图中可以看到,张平、张华和张群是兄弟,他们的父亲是张亮,其中张平有两个儿子,分别是张晶和张磊。以上所说,父子、兄弟等这些关系都指的是数据间的逻辑关系,又称逻辑结构。

一组数据成功存储到计算机的衡量标准是要能将其完整的复原,如果所存储的数据能将此成员关系图彻底复原,则说明数据存储成功。

数据之间的逻辑关系可细分为三类:

  1. 一对一(一个老师讲解一个课程)
  2. 一对多(一个老师管理多个学生)
  3. 多对多(多个学生完成多科作业)

类似集合 {1,2,3,…,n} 这类的数据,每个数据的左侧有且仅有一个数据与其相邻(除1外),同样,每个数据的右侧也只有一个数据与其相邻(除 n 外),所有的数据都是如此,就说数据之间是“一对一”的逻辑关系。

通过学习数据结构,我们可以学到 3 种存储结构分别存储这 3 类逻辑关系的数据,换句话说:

  1. 线性表用于存储具有“一对一”逻辑关系的数据
  2. 树结构用于存储具有“一对多”关系的数据
  3. 图结构用于存储具有“多对多”关系的数据

由此,我们可以通过分析数据之间的逻辑关系来决定使用哪种存储结构,但具体使用顺序存储还是链式存储,还要通过数据的物
理结构来决定。

物理结构

数据的存储结构,也就是物理结构,指的是数据在物理存储空间上选择集中存放还是分散存放。

例如:假设要存储大小为 10G 的数据,则集中存放就如图 3a) 所示,分散存放就如图 3b)所示。
在这里插入图片描述
如果选择集中存储,就使用顺序存储结构。反之,就使用链式存储。

至于如何选择,主要取决于存储设备的状态以及数据的用途

我们知道,集中存储(底层实现使用的是数组)需要使用一大块连续的物理空间,假设要存储大小为 1G 的数据,若存储设备
上没有整块大小超过 1G 的空间,就无法使用顺序存储,此时就要选择链式存储,因为链式存储是随机存储数据,占用的都是
存储设备中比较小的存储空间,因此有一定几率可以存储成功。

并且,数据的用途不同,选择的存储结构也不同。将数据进行集中存储有利于后期对数据进行遍历操作,而分散存储更有利于后
期增加或删除数据。因此,如果后期需要对数据进行大量的检索(遍历),就选择集中存储;反之,若后期需要对数据做进一步
更新(增加或删除),则选择分散存储。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王佳斌

请作者喝杯咖啡 :)

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值