学习笔记:数据结构与算法(十四):图

本文详细介绍了图的定义,包括无向图、有向图、完全图、稀疏图和稠密图等概念,以及顶点的度、入度和出度。此外,还探讨了图的存储结构,如邻接矩阵,特别提到了无向图、有向图和带权图的邻接矩阵表示。最后,讨论了连通图、强连通图和图的生成树等重要概念。
摘要由CSDN通过智能技术生成

定义

图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为G(V,E),其中G表示一个图,V是图G中顶点的集合,E是图G中边的集合。
多对多的图形关系
注意:

  1. 图中数据元素称为顶点(Vertex)
  2. 强调图的顶点集合V要有穷非空
  3. 图中,任意两个顶点都可能有关系,逻辑关系用边来表示,边集可以是空的。

无向边:顶点Vi和Vj之间的边没有方向,用无序偶(Vi,Vj)表示;
在这里插入图片描述

无向边:顶点Vi和Vj之间的边有方向,也称为弧(Arc),用有序偶<Vi,Vj>表示;Vi称为弧尾,Vj称为弧头。
在这里插入图片描述
简单图:在图结构中,不存在顶点到其自身的边,且同一条边不重复出现,则称这样的图为简单图。
在这里插入图片描述
无向完全图:无向图中,如果任意两个顶点之间都存在边,则称该图为无向完全图。含有n个顶点的无向完全图有n*(n-1)/2;
在这里插入图片描述
有向完全图:在有向图中,如果任意两个顶点之间都存在方向互为相反的两条弧,则称该图为有向完全图。含有n个顶点的有向完全图有n*(n-1)条边
在这里插入图片描述
稀疏图和稠密图:这里的稀疏和稠密是模糊的概念,都是相对而言的,通常认为边或弧数小于n*logn的是稀疏图。
:有些图的边或弧带有与他相关的数字,带权的图称为
在这里插入图片描述
子图:顶点包含,并且边也包含的,就称为子图。
右边是子图

其他的相关概念

  1. 对于无向图G=(V, E),如果边(V1, V2)∈E,则称顶点V1和V2互为邻接点,即V1和V2相邻接。边(V1, V2)依附于顶点V1和V2,或者说边(V1, V2)与顶点V1和V2相关联
  2. :顶点V的度是和V相关联的边的数目,记作TD(V)
    A的度是3,B的是2
  3. 对于有向图G=(V, E),如果弧<V1, V2>∈E,则称顶点V1邻接点到顶点V2顶点V2邻接自顶点V1
  4. 入度:以顶点V为头的弧的数目,记为ID(V)
    入度:以顶点V为尾的弧的数目,记为OD(V)
    :TD(V) = ID(V) + OD(V)
    在这里插入图片描述
  5. 路径:无向图G=(V, E)中从顶点V1到顶点V2的路径
    B到D的四种路径
  6. 如果G是有向图,则路径也是有向的。
  7. 回路或环:第一个和最后一个顶点相同
  8. 简单环:序列中顶点不重复出现的路径称为简单路径

A不能到B
左侧是简单环,右侧不是

  1. 连通图:在无向图G中,如果顶点V1,和V2有路径,则称V1, V2是连通的,如果图中任意两个顶点都是连通的,则称G是连通图。
    左图是连通图,有图不是
  2. 连通分量:无向图中的极大连通子图称为连通分量。(注意:子图并且要连通)
  3. 强连通图:有向图G,每一对顶点都存在路径。
  4. 强连通分量:有向图中的极大连通子图称为连通分量。(注意:子图并且要连通)
    左侧不是强连通图,右侧是,并且右侧是左侧的极大强连通子图
  5. 连通图的生成树:是一个极小的连通子图,包含图中全部的n的顶点,但只有足以构成一棵树的n-1条边
    在这里插入图片描述
  6. 有向树:有向图恰有一个顶点入度为0,其余顶点的入度均为1,则是一棵有向树
    在这里插入图片描述

图的存储结构

邻接矩阵(无向图)

用两个数组来表示,一个一维数组存储图中顶点信息,一个二维数组(称为邻接矩阵,也是对称矩阵)存储图中的边或弧的信息。
在这里插入图片描述

邻接矩阵(有向图)

与无向图不同,有向图的邻接矩阵不对称。入度是列的和,出度为行的和

邻接矩阵(网)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值