2021-10-21-图的学习

图的学习

定义

在这里插入图片描述
在计算机科学中,一个图就是一些顶点的集合,这些顶点通过一系列边结对(连接)。顶点用圆圈表示,边就是这些圆圈之间的连线。顶点之间通过边连接。

注意:顶点有时也称为节点或者交点,边有时也称为链接。

邻接: 如果两个顶点之间通过边连接起来,则称他们为邻接的。

路径: 依次遍历顶点序列之间的边所形成的轨迹。没有重复顶点的路径称为简单路径。路径的长度是路径上的边或弧的数目。
连通图: 如果至少一个路径可以连接所有顶点,就称这个图是连通图。

在这里插入图片描述
无向边: 若顶点 x 和 y 之间的边没有方向,则称该边为无向边(x, y),(x, y) 与 (y,x) 意义相同,表示 x 和 y 之间有连接。

无向图: 若图中任意两个顶点之间的边均是无向边,则称该图为无向图。

有向边: 若顶点 x 和 y 之间的边有方向,则称该边为有向边<x, y>,<x, y> 与 <y, x> 意义不同,表示从 x 连接到 y,x 称为尾,y 称为头。

有向图: 若图中任意两个顶点之间的边均是有向边,则称该图为有向图。

完全图: 每个顶点都与其他顶点相邻接的图。

邻接矩阵: 图的邻接矩阵存储方式是用两个数组来表示图。一个一维数组存储图中顶点信息,一个二维数组(邻接矩阵)存储图中的边的信息。

邻接表: 邻接矩阵是不错的一种图存储结构,但是,对于边数相对顶点较少的图,这种结构存在对存储空间的极大浪费。因此,找到一种数组与链表相结合的存储方法称为邻接表。

深度优先算法(DFS): 深度优先算法使用栈来实现。
规则1、访问一个邻接的未访问节点,放入栈中
规则2、不能执行规则1时,如果栈不为空,弹出栈尾元素
规则3、规则1和规则2不能执行时说明搜索完成

广度优先算法(BFS): 广度优先算法使用队列实现。
规则1、访问一个邻接的未访问节点,放入队列中
规则2、不能执行规则1时,如果队列不为空,弹出队列头部元素
规则3、规则1和规则2不能执行时说明搜索完成

最小生成树: 最小生成树的边的数量总比顶点数目少1,比较容易通过DFS算法得到最小生成树。

有向图 && 带权图后续再学习

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值