数据结构--图

图的基本概念

  • 一个图(G)定义为一个偶对(V,E) ,记为G=(V,E) 。其中: V是顶点(Vertex)的非空有限集合,记为V(G);E是无序集V&V的一个子集,记为E(G) ,其元素是图的弧(Arc)
  • 顶点集合为空的图称为空图
  • 弧(Arc) :表示两个顶点v和w之间存在一个关系,用顶点偶对<v,w>表示。通常根据图的顶点偶对将图分为有向图和无向图
  • 邻接:有边/弧相连的两个顶点之间的关系,称为邻接点(Vi,Vj),称Vi和Vj互为邻接点;存在<vi,vj>,则称vi邻接到vj,vj邻接于vi
  • 关联:边/弧与顶点之间的关系;边(Vi,Vj)依附于顶点Vi和Vj

有向图

  • 若图G的关系集合E(G)中,顶点偶对<v,w>的v和w之间是有序的,称图G是有向图
  • 有向图中,若 <v,w> ∈ E(G) ,表示从顶点v到顶点w有一条弧。 其中:v称为弧尾(tail)或始点(initial node),w称为弧头(head)或终点(terminal node) 

无向图

  • 若图G的关系集合E(G)中,顶点偶对<v,w>的v和w之间是无序的,称图G是无向图
  • 无向图中,若<v,w>∈ E(G) ,有<w,v>∈ E(G) ,即E(G)是对称,则用无序对(v,w) 表示v和w之间的一条边(Edge),因此(v,w) 和(w,v)代表的是同一条边

完全图

任意两个点都有一条边相连

无向完全图

  • 无向图,若图中顶点数为n ,用e表示边的数目,则e∈ [0,n(n-1)/2] 。具有n(n-1)/2条边的无向图称为完全无向图
  • 图中任意两个不同的顶点间都有一条无向边,这样的无向图称为完全无向图

有向完全图

  • 有向图,若图中顶点数为n ,用e表示弧的数目,则e∈ [0,n(n-1)] 。具有n(n-1)条边的有向图称为完全有向图
  • 图中任意两个不同的顶点间都有一条弧,这样的有向图称为完全有向图

有很少边或弧的图(e< n㏒n)的图称为稀疏图,反之称为稠密图

权:与图的边和弧相关的数。权可以表示从一个顶点到另一个顶点的距离或耗费

顶点的度TD、入度OD、出度ID

  • 在无向图中,所有顶点度的和为图中边的2倍
  • 有向图G=(V,E),若vi∈ V ,图G中以vi作为起点的有向边(弧)的数目称为顶点vi的出度(Outdegree),记为OD(vi) ;以vi作为终点的有向边(弧)的数目称为顶点vi的入度(Indegree),记为ID(vi) 。顶点vi的出度与入度之和称为vi的度,记为TD(vi) 
  • TD(vi)=OD(vi)+ID(vi) 

路径、路径长度、回路

  • 对无向图G=(V,E),若从顶点vi经过若干条边能到达vj,称顶点vi和vj是连通的,又称顶点vi到vj有路径
  • 有向图G=(V,E),从顶点vi到vj的有向路径,指的是从顶点vi经过若干条有向边(弧)能到达vj
  • 路径是图G中连接两顶点之间所经过的顶点序列
  • 路径上边或有向边(弧)的数目 / 权值的和称为该路径的长度
  • 序列中若没有重复出现的顶点,该路径称为简单路径;第一个顶点和最后一个顶点相同的路径称为回路(环);在一个回路中,若除第一个与最后一个顶点外,其余顶点不重复出现的回路称为简单回路(简单环)

连通图、图的连通分量

  • 无向图G=(V,E),若vi ,vj∈ V,vi和vj都是连通的,则称图G是连通图,否则称为非连通图。若G是非连通图,则极大的连通子图称为G的连通分量
  • 有向图G=(V,E),若vi ,vj∈ V,都有以vi为起点, vj 为终点以及以vj为起点,vi为终点的有向路径,称图G是强连通图,否则称为非强连通图。若G是非强连通图,则极大的强连通子图称为G的强连通分量

生成树、生成森林

  • 生成树:一个极小连通子图,它含有图中全部顶点,但只有足以构成一棵树的n-1条边,这样的连通子图称为连通图的生成树
  • 生成森林:对于非连通图,由各个连通分量的生成树的集合
  • 极小连通子图:该子图是G的连通子图,在子图中删除任何一条边,子图不再连通

①一棵有n个结点的生成树有且仅有n-1条边
②如果一个图有n个顶点和小于n-1条边,则是非连通图
③如果多于n-1条边,则一定有环
④有n-1条边的图不一定是生成树

  • 有向图的生成森林是这样一个子图,由若干棵有向树组成,含有图中全部顶点

有向树是只有一个顶点的入度为0 ,其余顶点的入度均为1的有向图

每个边(或弧)都附加一个权值的图,称为带权图。称为网或网络

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值