数学上,一个Graph)是表示物件与物件之间的关系的方法,是图论的基本研究对象。一个图看起来是由一些小圆点(称为顶点结点)和连结这些圆点的直线或曲线(称为)组成的。

§定义[编辑]

图又有各种变体,包括简单图/多重图;有向图/无向图等,但大体上有以下两种定义方式。

§二元组的定义[编辑]

G是一个二元组(V,E),其中V称为顶点集,E称为边集。它们亦可写成V(G)E(G)。 E的元素是一个二元组数对,用(x,y)表示,其中x,y \in V

§三元组的定义[编辑]

一个,是指一个三元组(V,E,I),其中V称为顶集(Vertices set),E称为边集(Edges set),EV不相交;I称为关联函数,IE中的每一个元素映射到V\times V。如果I(e)=(u,v) (e\in E, u,v \in V)那么称边e连接顶点u,v,而u,v则称作e的端点,u,v此时关于e相邻。同时,若两条边i,j有一个公共顶点u,则称i,j关于u相邻。

§分类[编辑]

§有/无 向图[编辑]

如果给图的每条边规定一个方向,那么得到的图称为有向图,其边也称为有向边。在有向图中,与一个节点相关联的边有出边和入边之分,而与一个有向边关联的两个点也有始点和终点之分。相反,边没有方向的图称为无向图

§简单图[编辑]

一个图如果

  1. 没有两条边,它们所关联的两个点都相同(在有向图中,没有两条边的起点终点都分别相同);
  2. 每条边所关联的是两个不同的顶点
则称为简单图(Simple graph)。简单的有向图和无向图都可以使用以上的“二元组的定义”,但形如 (x,x)的序对不能属于E。而无向图的边集必须是对称的,即如果 (x,y)\in E,那么 (y,x)\in E

§多重图[编辑]

若允许两结点间的边数多于一条,又允许顶点通过同一条边和自己关联,则为多重图的概念。它只能用“三元组的定义”。

§基本术语[编辑]

在顶点1有一个环
  • (Order):图G中顶集V的大小称作图G的阶。
  • 子图(Sub-Graph):图G'称作图G的子图如果V(G')\subseteq V(G)以及E(G')\subseteq E(G)
  • 生成子图(Spanning Sub-Graph):指满足条件V(G')=V(G)G的子图G
  • (Degree)是一个顶点的度是指与该顶点相关联的总边数,顶点v的度记作d(v)。度和边有如下关系:\sum_{v\in V} d(v)=2\left|E\right|
  • 出度(Out-degree)和入度(In-degree):对有向图而言,顶点的度还可分为出度和入度。一个顶点的出度为d_o,是指有d_o条边以该顶点为起点,或说与该点关联的出边共有d_o条。入度的概念也类似。
  • 邻接矩阵
  • 自环(Loop):若一条边的两个顶点相同,则此边称作自环。
  • 路径(Path):从顶点u到顶点v的一条路径是指一个序列v_0,e_1,v_1,e_2,v_2,...e_k,v_ke_i的起点终点为v_{i-1}v_ik称作路径的长度;v_0=u,称为路径的起点;v_k=v,称为路径的终点。如果u=v,称该路径是的,反之则称为的;如果v_1,...,v_k两两不等,则称之为简单路径(Simple path,注意,u=v是允许的)。
  • 行迹(Trace):如果路径P(u,v)中边各不相同,则该路径称为uv的一条行迹。
  • 轨道(Track):即简单路径。
  • 闭的行迹称作回路(Circuit),闭的轨道称作(Cycle)。

(现存文献中的命名法并无统一标准。比如在另一种定义中,walk对应上述的path,path对应上述的track,trail对应上述的trace。)

  • 距离(Distance): 从顶点u出发到顶点v的最短路径若存在,则此路径的长度称作从u到v的距离。若从u到v根本不存在路径,则记该距离为无穷(∞)。
  • 距离矩阵
  • (Bridge):若去掉一条边,便会使得整个图不连通,该边称为桥。

§图的存储表示[编辑]

一个不带权图中若两点不相邻,邻接矩阵相应位置为0,对带权图(网),相应位置为∞。一个图的邻接矩阵表示是唯一的,但其邻接表表示不唯一。在邻接表中,对图中每个顶点建立一个单链表(并按建立的次序编号),第i个单链表中的结点表示依附于顶点vi的边(对于有向图是以顶点vi为尾的弧)。每个结点由两个域组成:邻接点域(Adjvex),用以指示与vi邻接的点在图中的位置,链域(Nextarc)用以指向依附于顶点vi的下一条边所对应的结点。如果用邻接表存放网(带权图)的信息,则还需要在结点中增加一个存放权值的域(Info)。每个顶点的单链表中结点的个数即为该顶点的出度(与该顶点连接的边的总数)。无论是存储图或网,都需要在每个单链表前设一表头结点,这些表头结点的第一个域data用于存放结点vi的编号i,第二个域firstarc用于指向链表中第一个结点。

图的重要类型[编辑]


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值