基本介绍

  图是由一组顶点和能够将两个顶点相连的边组成的。如下图所示:
在这里插入图片描述
  根据连接两个顶点边的不同,图可以分为以下两种:

  • 无向图:边仅连接顶点,没有方向。
  • 有向图:边不仅连接顶点,同时具有方向。

相关术语

  • 相邻顶点:当两个顶点通过一条边相连时,我们称这两个顶点是相邻的,并且称这条边依附于这两个顶点。
  • :某个顶点的度就是依附于该顶点的边的个数
  • 子图:是一幅图的所有边的子集(包含这些边依附的顶点)组成的图;
  • 路径:是由边顺序连接的一系列的顶点组成
  • :是一条至少含有一条边且终点和起点相同的路径
  • 连通图:如果图中任意一个顶点都存在一条路径到达另外一个顶点,那么这幅图就称之为连通图
  • 连通子图:一个非连通图由若干连通的部分组成,每一个连通的部分都可以称为该图的连通子图

图的实现

  图有两种实现方式,分别是使用邻接矩阵和邻接表。邻接矩阵由于其空间复杂度较大(O(n^2)),所以我们一般采用邻接表。邻接表图示如下:
在这里插入图片描述
  由图可知,邻接表是一个数组对象,其中每个对象,都是一个queue,用于存储与其相邻的顶点。

图的搜索

  图有两种搜索方式:深度优先和广度优先。
  所谓的深度优先搜索,指的是在搜索时,如果遇到一个结点既有子结点,又有兄弟结点,那么先找子结点,然后找兄弟结点。
  所谓的深度优先搜索,指的是在搜索时,如果遇到一个结点既有子结点,又有兄弟结点,那么先找兄弟结点,然后找子结点。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值