C语言数据结构与算法---图的基础

1.基本定义

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

图中数据元素称为顶点(Vettex),任意两个顶点间都可能有关系,定点之间的逻辑关系用边表示,边集可以为空。

2. 各种图的定义

无向边:若顶点 Vi 到 Vj 之间的边没有方向,则称这条边为无向边(Edge),用无序偶(Vi,Vj)来表示

  • 无向图:任意两个顶点之间的边都是无向边的图。----(A,B)与 (B,A)是一样的
  • 有向边:若从顶点 Vi 到 Vj 的边有方向,则称这条边为有向边,也成为(Arc),用有序偶<Vi,Vj>来表示,Vi称为弧尾,Vj称为弧头
    • 弧尾指向弧头
      在这里插入图片描述
    • 上图G是一个有向图,G={V,E},其中
      V={A,B,C,D},
      E={<B,A>,<B,C>,<C,A>,<A,D>}

无向边用小括号 ‘()’ 表示,有向边用尖括号 ‘<>’ 表示

  • 简单图:在图结构中,若不存在顶点到其自身的边,且同一条边不重复出现,则称这样的图为简单图。
    在这里插入图片描述
  • 无向完全图:在无向图中,如果任意两个顶点之间都存在边,则称该图为无向完全图。含有n个顶点的无向完全图有n*(n-1)/2条边
  • 有向完全图:在有向图中,如果任意两个顶点之间都存在方向互为相反的两条弧,则称该图为有向完全图。含有n个顶点的有向完全图有**n*(n-1)**条边。
    在这里插入图片描述
  • 稀疏图:通常认为边或弧数小于n*logn(n是顶点的个数)的图
  • 稠密图:通常认为边或弧数大于或等于n*logn(n是顶点的个数)的图
  • 权:有图的边或弧相关的数
  • 网:带权的图。
    在这里插入图片描述

3. 图的顶点与边的关系

  • 对于无向图G = (V,E),如果(V1,V2)∈E,则称顶点V1和V2互为邻接点(Adjacent),即V1和V2相邻接。边(V1,V2)依附(incident)于顶点V1和V2,或者说边(V1,V2)与顶点V1和V2相关联。
    • 顶点V的是和V相关联的边的数目,记为TD(V).
      顶点A的度为3
  • 对于有向图G=(V,E),如果有<V1,V2>∈E,则称顶点V1邻接到顶点V2,顶点V2邻接自顶点V1。
    • 以顶点V为头的弧的数目称为V的入度(InDegree),记为ID(V),以V为尾的弧的数目称为V的出度(OutDegree),记为OD(V),因此顶点V的为TD(V)=ID(V)+OD(V)。
      点A的入度是2,出度是1,所以顶点A的度是3在这里插入图片描述

4. 连通图

  • 连通:在无向图中,如果一个顶点到另一个顶点有路径,则称这两个顶点是连通的。
  • 连通图:任意两个顶点都是连通的图。
  • 连通分量:无向图中的极大连通子图称为连通分量

注意:连通分量:

  1. 首先要是子图,并且子图是要连通的;
  2. 连通子图含有极大顶点数;
  3. 具有极大顶点数的连通子图包含依附于这些顶点的所有边。
  • 强连通图:在有向图中,对于每一对Vi到Vj都存在路径
  • 强连通分量:有向图中的极大强连通子图
    在这里插入图片描述图1并不是强连通图,以为不存在从D到A的路径,图2是强连通图,而且图2是图1的极大强联通子图

5. 连通图的生成树

一个连通图的生成树是一个极小的连通子图,它含有图中全部的n个顶点,但只有足以构成一棵树的 n-1 条边。
在这里插入图片描述图1是普通图,不是生成树;图2和图3满足 n 个顶点 n-1 条边,是一颗生成树;有 n-1 条边不一定是生成树,如图4

  • 有向树:一个有向图恰有一个顶点入度为0,其余顶点的入度均为1
    • 入度为0:相当于树的根结点。
    • 其余顶点的入度均为1:树的非根结点的双亲只有一个
      在这里插入图片描述图1是一个有向图,去掉一些弧后,可以分解为两颗有向树,如图2,图3,这两颗就是图1有向图的生成森林。
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值