图的定义存储和遍历

图的基本概念

多对多关系
图(graph)是一种网状数据结构,图是由非空的顶点集合和一个描述顶点之间关系的集合组成;
其形式化的定义如下:
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到顶点v的一条弧,并称u为弧尾或七十点,称v为弧头或终止点,他表示顶点u和顶点v之间的一条边,此时图中顶点之间的连线是没有方向的,这种图称为无向图(undirected graph)。

在无向图和有向图中V的元素都称为顶点,而顶点之间的额关系却有着不同的称谓,即弧或边,为避免麻烦,在不影响理解的前提下,我们统一将他们称为边(edge)。并且我们还雪顶顶点集与边集都是有限的,并记顶点与边的数量为|V|和|E|
在这里插入图片描述
无向图实际上也是有向图,是双向图。
在这里插入图片描述
加权图
在实际应用中,图不但需要表示元素之间是否存在某种关系,而且图的边往往与具有一定实际意义的数有关,即每条边都有与它相关的实数,称为权。
这些权值可以表示从一个顶点到另一个顶点的距离或或消耗等信息,在本章中假设边的权均为正数。

图的存储

邻接矩阵:二维数组,顺序结构
在这里插入图片描述
邻接表:链表,链式存储结构
在这里插入图片描述

图的遍历

图的遍历就是从图中某个顶点出发,按某种方法对图中所有顶点访问且仅访问依次。图的遍历算法是求解图的连通性问题、拓扑排序和求关键路径等算法的基础。
深度优先遍历(DFS depth-first search):类似于树的先根遍历,是树的先根遍历的推广(可以采用递归和借助栈的非递归方式实现)
广度优先遍历(BFS breadth-first search):遍历类似于树的层次遍历,它是树的按层遍历的推广(借助队列 非递归的方式实现)
在这里插入图片描述
无相图的深度优先遍历:0->1->3->7->4->2->5->6
无相图的广度优先遍历:0->1->2->3->4->5->6->7
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值