前言
学习 逻辑结构与物理结构
内容!
一、逻辑结构和物理结构的引入
数据结构是一门研究数据如何存储的学科(第一层理解)
数据结构是用来管理数据在内存中的存储(第二层理解)
数据结构是一个统称,可以理解为容器(第三层理解)
问:如果我们想要存储一些数据该选用哪个数据结构呢?是数组、链表还是二叉树呢??选择的依据(标准)是什么呢?
答:选择的标准就是数据的逻辑结构和物理结构
明确:数据的存储形式(存储结构)只有两种,一种是数组(顺序存储),另一种是链表(链式存储)。数组和链表是实现其它数据结构的基石,数组和链表用来实现其它数据结构。
数组实现的叫做顺序实现,链表实现的叫链式实现
二、数据的逻辑结构
- 特点:逻辑结构是抽象的
- 作用:为了确定该选用哪一种数据结构。
- 选择依据:通过 数据之间的关系来确定。数据之间的关系:
一对一(线性结构)、一对多(树结构)、多对多(图结构)
。
三、数据的物理结构
- 特点:物理结构式具象的。指数据在内存中的存储形式
- 数据在内存中的存储形式:集中存放(数组),分散存放(链表)。内存就相当于一个房子似的没有空间,集中存放相当于人们在这个房子里都站在一块,扎堆,分散存储就相当于站的哪都有,没有挤到一块~。底层为两种实现,一种是
数组
,另一种是链表
- 选择依据:
- 内存的空间状态:集中存放要求连续的内存空间,如果没有只能分散存放。
- 数据的用途:例如,对数据的操作(增删改查)。集中存放 遍历的效率会高,数据用于遍历频繁,集中存放查找的时候效率高。分散存储更新(删除,增加)效率比较高(对其它数据的影响),用于更新比较频繁
四、总结
- 逻辑结构决定了选用哪种数据结构
- 为了实现逻辑结构选用物理结构来存储