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

逻辑结构

逻辑结构有以下几种关系

没关系

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

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

该四种关系有以下别名

集合 线性表 树 图

存储结构

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

顺序结构

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

按照一定的存储顺序排列

如上是一个顺序结构

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

该片存储空间是连续的

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

链式结构

存储单元随意排列

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

以黑框为例

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

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

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

即一个数据域一个指针域

设置一个节点

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

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

相关推荐
competes23 分钟前
慈善基金投资底层逻辑应用 顶层代码低代码配置平台开发结构方式数据存储模块
java·开发语言·数据库·windows·sql
Ulyanov1 小时前
用Pyglet打造AI数字猎人:从零开始的Python游戏开发与强化学习实践
开发语言·人工智能·python
独自归家的兔1 小时前
OCPP 1.6 协议详解:StatusNotification 状态通知指令
开发语言·数据库·spring boot·物联网
希望永不加班1 小时前
Spring AOP 代理模式:CGLIB 与 JDK 动态代理区别
java·开发语言·后端·spring·代理模式
RNEA ESIO2 小时前
PHP进阶-在Ubuntu上搭建LAMP环境教程
开发语言·ubuntu·php
23471021272 小时前
4.15 学习笔记
开发语言·软件测试·python
零号全栈寒江独钓2 小时前
基于c/c++实现linux/windows跨平台获取ntp网络时间戳
linux·c语言·c++·windows
CSCN新手听安2 小时前
【linux】高级IO,以ET模式运行的epoll版本的TCP服务器实现reactor反应堆
linux·运维·服务器·c++·高级io·epoll·reactor反应堆
java1234_小锋2 小时前
Java高频面试题:什么是可重入锁?
java·开发语言
雾岛听蓝3 小时前
Qt操作指南:窗口组成与菜单栏
开发语言·经验分享·笔记·qt