数据结构与算法(一)线性表

逻辑结构

逻辑结构有以下几种关系

没关系

一对一关系 一对多关系 多对多关系

a是b的前驱,c是b的后继

该四种关系有以下别名

集合 线性表 树 图

存储结构

存储结构分为顺序结构和链式结构

顺序结构

C语言是实现 int Array[7];

按照一定的存储顺序排列

如上是一个顺序结构

第一行是存储单元,第二行是相对应的内存地址

该片存储空间是连续的

此时只要知道第一个内存地址和一共有几个存储单元即可获取其中任何一个存储单元地址

链式结构

存储单元随意排列

第一行是存储单元,第二行是相对应的内存地址

以黑框为例

第一行A不仅包含了A存储单元还包含了ads1

即不仅存储了存储单元还存储了下一个存储单元的地址即指针

如上图,A为存储单元,箭头为下一个存储单元的指针

即一个数据域一个指针域

设置一个节点

定义一个指针L,为LNode节点分配空间,并将此空间地点存储在LNode中

顺序存储结构支持随机存取

相关推荐
YIN_尹27 分钟前
【Linux系统编程】进程地址空间
linux·c++
烤麻辣烫29 分钟前
JS基础
开发语言·前端·javascript·学习
EverestVIP36 分钟前
C++中空类通常大小为1的原理
c++
froginwe1138 分钟前
C++ 文件和流
开发语言
Dxy12393102161 小时前
Python在图片上画矩形:从简单边框到复杂标注的全攻略
开发语言·python
独自破碎E1 小时前
面试官:你有用过Java的流式吗?比如说一个列表.stream这种,然后以流式去处理数据。
java·开发语言
꯭爿꯭巎꯭1 小时前
python下载手机版(python3手机版(免费))
开发语言·python·智能手机
网域小星球1 小时前
C++ 从 0 入门(六)|C++ 面试必知:运算符重载、异常处理、动态内存进阶(终极补充)
开发语言·c++·面试
晚会者荣1 小时前
红黑树的插入(有图)
c++
FL16238631291 小时前
基于C#winform部署软前景分割DAViD算法的onnx模型实现前景分割
开发语言·算法·c#