赞
踩
如果本身就是连通图,则本身就是其连通分量,而非连通图的各个连通图作为其组成部分均为其连通分量
强连通图:任意顶点出发可以到达其余任意节点
极小连通子图:保证了连通,且有着最少的边数
性质1:
性质2:
由于邻接矩阵是使用数组实现的顺序存储,空间复杂度高,不适合存储稀疏图。
性质1:
性质2:
tip
是有向图的一种链式存储结构:将邻接表和逆邻接表整合在一起
在邻接表中,容易求得顶点和边的各种信息,但在邻接表中求两个顶点之间是否存在边而对边执行删除等操作时,需要分别在两个顶点的边表中遍历,效率较低
邻接多重表是无向图的另一种链式存储结构
图的基本操作是独立于图的存储结构的。不同的存储结构,操作算法有着不同的的性能。
1)什么是图的遍历?
2) 图遍历与树遍历的关系
3)为什么需要图的遍历
4)图遍历的关键是什么?
1)树的广度优先搜索
2)图的广度优先搜索(Breadth-First-Search)
3)树和图的广度优先遍历的比较
广度优先遍历是一种分层查找过程,为了实现逐层的访问,算法必须借助一个辅助队列,以记忆正在访问的顶点的下一层顶点。
4)广度优先遍历序列
tip
1)空间复杂度
2)时间复杂度
扩展:广度优先生成森林
1)树的深度优先遍历
2)图的深度优先遍历(Depth-First-Search)
3)深度优先遍历序列
tip
1)空间复杂度
2)时间复杂度
扩展:深度优先生成森林
图的遍历算法可以用来判断图的连通性
一个带权的图中(网),有n个顶点,用n-1条边把一个连通图连接起来,并要使的权值的和最小。
都是基于贪心算法策略
从某一个顶点出发,找一条与顶点集权值最小的边相连
算法思想:
算法演示:
算法总结:
每次选边权值最小的相连,顶点已连接的,边就不需要连接了。
算法思想:
算法演示:
缺点:BFS算法只适用于无权图,或所有边的权值都相同的图
算法思想:
算法时间复杂度:
Prim算法和Dijkstra算法区别:
两者的区别在于,每次更新路径的不一样
参考文献:
https://blog.csdn.net/dutmathjc/article/details/105888831
https://zhuanlan.zhihu.com/p/87748517
算法不足:
算法思想:
算法演示:
算法时间复杂度:
算法的缺点:
有向无环图是描述含有公共子式的表达式的有效工具
Activity on Vertex Network(AOV)网:一个有向图中,顶点表示活动,弧表示活动之间优先关系(不能存在回路)这样有向图为顶点表示活动的AOV网
特点:
定义:
作用:
目的:
由于输出每个顶点的同时还要删除以它为起点的边
特点:
定义:
性质:
AOV网和AOE网的异同:
找关键活动时所需的参量:
ve(k) = e(i)
l(i) = vl(k)-weight
参考文献:王道数据结构
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。