失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 网状结构图的存储(邻接矩阵 邻接表) 图的遍历(深度DFS 广度BFS) 图的最短路径

网状结构图的存储(邻接矩阵 邻接表) 图的遍历(深度DFS 广度BFS) 图的最短路径

时间:2022-01-27 05:37:45

相关推荐

网状结构图的存储(邻接矩阵 邻接表) 图的遍历(深度DFS 广度BFS) 图的最短路径

多对多关系

是一种网状数据结构,图是由非空的顶点集合和一个描述顶点之间关系的集合组成

其定义

Graph = (V, E)

V={x | x ∈某个数据对象}

E = {<u, v> | P(u ,v) ∧ (u, v∈V )}

V是具有相同特性的数据元素的集合,V中的数据元素通常称为顶点(Vertex)

E是两个顶点之间关系的集合。P(u, v) 表示u和v之间有特定的关联属性

若<u,v>∈E,则<u,v>表示从顶点u的一条弧,并称u为弧尾或起始点,称v为弧头或终止点

此时图中的顶点之间的连线是有方向的,这样的图称为有向图。

若<u,v>∈E,则<v,u>∈E,即关系E是对称的,此时可以用一个无序对(u,v)俩代替两个有序对

它表示顶点u和顶点v之间的一条边,此时图中的顶点之间的连线是没有方向的,这种图称为无向图

在无向图和有向图中V中的元素都称为顶点,而顶点之间的关系却有不同的效果,即弧或边,为避免麻烦,在不影响理解的前提下,统称为边(edge)

并且还约定顶点集与边集都是有限的,并记顶点和边的数量为|V|和|E|

无向图实际上也是有向图,双向图

加权图

在实际运用中,图不但徐耀表示元素之间是否存在某种关系

而且图的边往往与具有一定实际意义的数有关,即每条边都有与它相关的实数,称为权

这种边上带有权值的图称为带权图

图的存储

邻接矩阵:二维数组 顺序存储结构

邻接表:链表 链式存储结构

图的遍历

图的遍历就是从图中某个顶点出发,按某种方法对图中所有顶点访问且仅访问一次

图的遍历算法是求解图的连通性问题、拓扑排序和求关键路径等算法

深度优先遍历(DFS depth-first search):类似于树的先根遍历,是树的先根遍历的推广(可以采用递归和借助栈的非递归方式实现)

广度优先遍历(BFS breadth-first search):遍历类似于树的层次遍历,它是树的安层遍历的推广(借助队列 非递归方式实现)

深度优先遍历:ABCDEFGHI

广度优先遍历:ABFCIGEDH

图的最短路径

最短路径1:段数最少的最短路径

换乘最少

使用广度优先搜索

最短路径2:权值最小的最短路径

时间最少、距离最短(看权值代表什么)

使用迪克斯特拉算法

如果觉得《网状结构图的存储(邻接矩阵 邻接表) 图的遍历(深度DFS 广度BFS) 图的最短路径》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。