数据结构-图-思维导图+小结

1 数据结构-第六章-图-思维导图

  数据结构-第六章-图-思维导图缩略图展示如下图1所示:
请添加图片描述

图1

2 知识点小结

  1、邻接矩阵、邻接表、十字链表、邻接多重表。

邻接矩阵邻接表十字链表邻接多重表
空间复杂度O( ∣ V ∣ | V \vert V 2)无向图O( ∣ V ∣ | V \vert V + 2 ∣ E ∣ | E \vert E)
有向图O( ∣ V ∣ | V \vert V + ∣ E ∣ | E \vert E)
O( ∣ V ∣ | V \vert V + ∣ E ∣ | E \vert E)O( ∣ V ∣ | V \vert V + ∣ E ∣ | E \vert E)
适用于稠密图稀疏图有向图无向图
表达方式唯一不唯一不唯一不唯一
存储方式顺序存储顺序+链式存储链式存储链式存储

  2、BFS(广度优先遍历)、DFS(深度优先遍历)。

BFS(广度优先遍历)DFS (深度优先遍历)
空间复杂度辅助队列大小为O( ∣ V ∣ | V \vert V)递归工作栈大小为O( ∣ V ∣ | V \vert V)
时间复杂度(邻接矩阵存储)O( ∣ V ∣ | V \vert V 2)O( ∣ V ∣ | V \vert V 2)
时间复杂度(邻接表存储)O( ∣ V ∣ | V \vert V + ∣ E ∣ | E \vert E)O( ∣ V ∣ | V \vert V + ∣ E ∣ | E \vert E)
与二叉树遍历关系类似二叉树的层序遍历类似二叉树的先序遍历

  3、最小生成树(Prim算法、Kruskal算法)。

Prim算法Kruskal算法
时间复杂度O( ∣ V ∣ | V \vert V 2)O( ∣ E ∣ | E \vert Elog ∣ E ∣ | E\vert E )
适用于适于边稠密的图适于边稀疏而顶点多的图

  4、最短路径(BFS算法、Dijkstra算法、Floyd算法)。

BFS算法Dijkstra算法Floyd算法
无权图
带权图×
带负权值的图××
带负权回路的图×××
时间复杂度O( ∣ V ∣ | V \vert V 2)或O( ∣ V ∣ | V \vert V + ∣ E ∣ | E \vert E)O( ∣ V ∣ | V \vert V 2)O( ∣ V ∣ | V \vert V 3)
适用于无权图的单源最短路径带权图的单源最短路径带权图中各顶点间的最短路径
局限性只适用于无权图,或者权值都相同的图不适用于有负权值的带权图不能解决带有“负权回路”的图

  5、唯一、不唯一。
   ①图的邻接矩阵表示方式唯一;
   ②图的邻接表表示方式不唯一;
   ③图的十字链表表示是不唯一的,但一个十字链表表示确定一个图;
   ④同一个图的邻接矩阵表示方式唯一,因此广度(深度)优先遍历序列唯一,基于邻接矩阵的广度(深度)优先生成树唯一;
   ⑤同一个图的邻接表表示方式不唯一,因此广度(深度)优先遍历序列不唯一,基于邻接表的广度(深度)优先生成树不唯一;
   ⑥最小生成树可能有多个,但边的权值之和总是唯一且最小的;
   ⑦拓扑排序、逆拓扑排序序列可能不唯一;
   ⑧拓扑序列唯一,对应的图不一定唯一。

  6、关键路径特性。
   ①若关键活动耗时增加,则整个工程的工期将增长;
   ②缩短关键活动的时间,可以缩短整个工程的工期,但是当缩短到一定程度时,关键活动可能会变成非关键活动;
   ③可能有多条关键路径,只提高一条关键路径上的关键活动并不能缩短整个工程的工期,只有加快那些包括在所有关键路径上的关键活动才能达到缩短工期的目的。

  7、连通图、子图、连通分量、极小连通分量、生成树之间的关系。
   ①连通分量:极大连通分量;
   ②极小连通子图:保证了连通,又有最少边数;
   ③生成树:在极小连通子图基础上,保证了包含图的全部顶点。之间的关系如下图2所示:
在这里插入图片描述

图2
  • 10
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值