图的基本概念以及特殊形态的图(C语言)

Posted bfhonor

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图的基本概念以及特殊形态的图(C语言)相关的知识,希望对你有一定的参考价值。

一、图的基本概念

(一)图的定义

  • 图G顶点集V边集E组成,记为G = (V, E),其中V(G)表示图G中顶点的有限非空集;
  • E(G)表示图G中顶点之间的关系(边)集合。
  • 若V = {v1, v2, … , vn},则用|V|表示图G中顶点的个数,也称图G的阶E = {(u, v) | uÎ∈V, v∈V},用|E|表示图G中边的条数
  • 注意:线性表可以是空表,树可以是空树,但图不可以是空,即V一定是非空集

(二)无向图、有向图

  • 若E是无向边(简称边)的有限集合时,则图G为无向图。边是顶点的无序对,记为(v,w)或(w, v),因为 (v,w) = (w, v) ,其中v、w是顶点。可以说顶点w和顶点v互为邻接点。边(v, w)依附于顶点w和v,或者说边(v, w)和顶点v、w相关联。
  • G2 = (V2, E2)
  • V2 = {A, B, C, D, E}
  • E2 = {(A, B), (B, D), (B, E), (C, D), (C, E), (D, E)}
  • 若E是有向边(也称)的有限集合时,则图G为有向图
  • 弧是顶点的有序对,记为<v,w>,其中v、w是顶点,v称为弧尾",w称为弧头,<v, w>称为从顶点v到顶点w的弧,也称v邻接到w,或w邻接自v。 <v,w> ≠ <w, v>
  • G1 = (V1, E1)
  • V1 = {A, B, C, D, E}
  • E1 = {<A, B>, <A, C>, <A, D>, <A, E>, <B, A>, <B, C>, <B, E>, <C, D>}

(三)简单图、多重图

(四)顶点的度、入度、出度

  • 对于无向图顶点v的度是指依附于该顶点的边的条数,记为TD(v)。
  • 在具有n个顶点、e条边的无向图中,
  • 即无向图的全部顶点的度的和等于边数的2倍
  • 对于有向图
    ①、入度是以顶点v为终点的有向边的数目,记为ID(v)
    ②、出度是以顶点v为起点的有向边的数目,记为OD(v)
    ③、顶点v的度等于其入度和出度之和,即TD(v) = ID(v) + OD(v)。
  • 在具有n个顶点、e条边的有向图中,

(五)顶点—顶点的关系描述

  • 路径——顶点vp到顶点vq之间的一条路径是指顶点序列 , vp,vi,…,vim,vq
  • 回路——第一个顶点和最后一个顶点相同的路径称为回路或环。
  • 简单路径——在路径序列中,顶点不重复出现的路径称为简单路径。
  • 简单回路——除第一个顶点和最后一个顶点外,其余顶点不重复出现的回路称为简单回路。
  • 路径长度——路径上边的数目。
  • 点到点的距离——从顶点u出发到顶点v的最短路径若存在,则此路径的长度称为从u到v的距离。若从u到v根本不存在路径,则记该距离为无穷(∞)
  • 无向图中,若从顶点v到顶点w有路径存在,则称v和w是连通
  • 有向图中,若从顶点v到顶点w和从顶点w到顶点v之间都有路径,则称这两个顶点是强连通

(六)连通图、强连通图

(七)子图

1. 无向图

2. 有向图

(八)连通分量

  • 子图必须连通,且包含尽可能多的顶点和边。
  • 无向图中的极大连通子图称为连通分量

(九)强连通分量

  • 子图必须强连通,同时保留尽可能多的边。
  • 有向图中的极大连通子图称为有向图的强连通分量

(十)生成树

  • 边尽可能的少,但要保持连通
  • 连通图生成树包含图中全部顶点的一个极小连通子图
  • 若图中顶点数为n,则它的生成树含有 n-1 条边。对生成树而言,若砍去它的一条边,则会变成非连通图,若加上一条边则会形成一个回路。

(十一)生成森林

  • 非连通图中,连通分量的生成树构成了非连通图的生成森林

(十二)边的权、带权图/网

  • 边的权——在一个图中,每条边都可以标上具有某种含义的数值,该数值称为该边的权值
  • 带权图/网——边上带有权值的图称为带权图,也称
  • 带权路径长度——当图是带权图时,一条路径上所有边的权值之和,称为该路径的带权路径长度。

(十三)几种特殊形态的图

  • 没有绝对的界限,一般来说|E| < |V|log|V|时,可以将G视为稀疏图

以上是关于图的基本概念以及特殊形态的图(C语言)的主要内容,如果未能解决你的问题,请参考以下文章

算法图的基本介绍 以及 存储方式

IDEF0图的基本概念

信息学赛培 | 06 信息学复赛必备的图结构实现方式

[图论笔记]基本概念

C语言 预处理详解(#include#define#if,特殊预定宏)