当前位置: 首页 > news >正文

数据结构——二十六、邻接表(王道408) - 详解

文章目录

  • 前言
  • 一.存储结构(顺序+链式存储)
    • 1.思路
    • 2.代码表示
    • 3.存储无向图
    • 4.存储有向图
  • 二.求无向图指定节点的度
  • 三.求有向图指定节点的入度,出度和度
  • 四.图的邻接表表示方法不唯一
  • 五.知识回顾与重要考点
  • 结语

前言

本文介绍了图的邻接表存储结构及其应用。邻接表采用链式存储方式,通过顶点数组和边链表实现图的表示。文章详细讲解了无向图和有向图的存储方法,分析了空间复杂度,并阐述了如何计算节点的度数。对于有向图,重点讨论了入度和出度的求解方法。同时指出邻接表表示方式不唯一的特性,与邻接矩阵的唯一性形成对比。最后总结了重要考点,包括邻接表的优缺点、适用场景以及时间复杂度分析。

一.存储结构(顺序+链式存储)

在这里插入图片描述

1.思路

  • 和之前树的孩子兄弟表示法思路差不多,先存储图的各个顶点与第一条边作为一个链表的头结点,然后链表再存入每个顶点对应的其他边和其他边所连接的顶点

2.代码表示

//"顶点"
typedef struct VNode{
VertexType data;//顶点信息
ArcNode*first;//第一条边/弧
}VNode,AdjList[MaxVertexNum];
//用邻接表存储的图
typedef struct{
AdjList vertices;//顶点结点的数组
int vexnum,arcnum;//记录具体有多少个结点,多少条边
} ALGraph;
//"边/弧"
typedef struct ArcNode{
int adjvex;//边/弧指向哪个结点
struct ArcNode *next;//指向下一条弧的指针
//InfoType info;        //边权值(可选)
}ArcNode;

3.存储无向图

  • 边结点的数量是2|E|,整体空间复杂度为O(|V|+2|E|)

4.存储有向图

二.求无向图指定节点的度

在这里插入图片描述

  • 我们只需要便利和这个顶点相关的这个边链表,有多少个边节点它的度就是多少

  • 遍历这个边链表可以找到和当前的这个顶点相连的所有的边

三.求有向图指定节点的入度,出度和度

在这里插入图片描述

这也是用连接表这种方式存储有向图的一个一个比较大的缺点

四.图的邻接表表示方法不唯一

在这里插入图片描述

  • 图的邻接表表示方式并不唯一,比如说A这个节点和BCD都相连
  • 那A节点的边列表其实可以用BCD这样的顺序,当然也可以用DCB这样的顺序
  • 也就是说各个边在这个列表当中出现的先后顺序是任意的

只要确定了顶点编号,图的邻接矩阵表示方式唯一,这和我们这一节学习的邻接表法有很大区别

五.知识回顾与重要考点

在这里插入图片描述

结语

二更,这一节王道只讲了这么点,可不是我偷懒

如果想查看更多章节,请点击:一、数据结构专栏导航页

http://www.gsyq.cn/news/50930.html

相关文章:

  • Python Mixin强大的技术详解:灵活扩展类机制的艺术
  • 2025年热门的化妆品级云母粉厂家最新推荐排行榜
  • 2025年口碑好的旋耕机中箱款厂家推荐及选购参考榜
  • Cherry键盘手册
  • 九、HTML id - CSS篇章
  • 完整教程:基于遗传优化的CDVRP问题最优值求解matlab仿真
  • 2025年11月遗产继承律师评测榜:五家机构数据对比与选择
  • 2025年11月上海装修公司TOP10推荐:专业能力与服务质量深度对比
  • 八、HTML CSS
  • 读社会工程:安全体系中的人性漏洞(第2版)03构建你的艺术
  • MLOps-数据科学运维化指南-全-
  • 2025年石棉橡胶板厂家联系电话推荐:联系方式与产品介绍
  • Kubernetes-应用的容器存储和安全防护指南-全-
  • 11.6 外键更新删除
  • 2025单螺杆泵源头厂家口碑排行
  • 实战针对本地项目git如何移除旧仓库关联并且添加关联新仓库-优雅草卓伊凡 - 实践
  • 2025年11月最值得推荐ai学习机TOP5:学而思、松鼠AI、科大讯飞等
  • 完整教程:软件测试之单元测试详解
  • 2025年11月GEO公司TOP5推荐:全域智能营销与跨平台技术深度解析
  • 2025年11月中国婚姻家事与财富管理律师TOP5对比测评:财富管理专项指南
  • 11.5 外键约束
  • 2025年宁波企业邮箱服务商推荐排行榜:芯导科技专业解决方案解析
  • 2025年11月珠海酒店如何选择?十大维度与场景适配指南
  • STM32H743-ARM例程24-USB_MSC - 指南
  • 2025年11月免费素材网站TOP5推荐:版权安全与创作效率深度解析
  • 2025年11月胶原精华产品TOP5推荐:渗透吸收与抗衰功效深度对比
  • revit 二次开发 添加一个winform非模态对话框
  • SQL注入之上传getshell(sqli-labs/less7)
  • 未知与已知---思考学习进度
  • KEYDIY KD ZB07-5 5-Button Universal Smart Remote Key 5pcs – Keyless Entry for European/American Cars