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

逻辑结构

逻辑结构有以下几种关系

没关系

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

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

该四种关系有以下别名

集合 线性表 树 图

存储结构

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

顺序结构

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

按照一定的存储顺序排列

如上是一个顺序结构

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

该片存储空间是连续的

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

链式结构

存储单元随意排列

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

以黑框为例

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

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

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

即一个数据域一个指针域

设置一个节点

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

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

相关推荐
郝学胜-神的一滴11 分钟前
Leetcode 969 煎饼排序✨:翻转间的数组排序艺术
数据结构·c++·算法·leetcode·面试
毕设源码-邱学长6 小时前
【开题答辩全过程】以 基于Java的学校住宿管理系统的设计与实现为例,包含答辩的问题和答案
java·开发语言
rookieﻬ°6 小时前
PHP框架漏洞
开发语言·php
炸膛坦客7 小时前
单片机/C/C++八股:(二十)指针常量和常量指针
c语言·开发语言·c++
兑生8 小时前
【灵神题单·贪心】1481. 不同整数的最少数目 | 频率排序贪心 | Java
java·开发语言
炸膛坦客9 小时前
单片机/C/C++八股:(十九)栈和堆的区别?
c语言·开发语言·c++
零雲9 小时前
java面试:了解抽象类与接口么?讲一讲它们的区别
java·开发语言·面试
Jay_Franklin9 小时前
Quarto与Python集成使用
开发语言·python·markdown
2401_831824969 小时前
代码性能剖析工具
开发语言·c++·算法
是wzoi的一名用户啊~10 小时前
【C++小游戏】2048
开发语言·c++