图的基础概念和深搜广搜序

发布时间 2023-12-12 12:59:52作者: 陆留生信奥艺术

有关图的定义

是由若干给定的顶点及连接两顶点的所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系。顶点用于代表事物,连接两顶点的边则用于表示两个事物间具有这种关系。图论起源于著名的柯尼斯堡七桥问题(下图所示),该问题于1736年被欧拉解决,因此普遍认为欧拉是图论的创始人。 

边没有方向的图称为无向图。

边有方向,每条边只能从一端到另一端(单向性),的图称为有向图。

连通性

  • 连通:在一个无向图 G 中,若从顶点i到顶点j有路径相连(当然从j到i也一定有路径),则称i和j是连通的。如果 G 是有向图,那么连接i和j的路径中所有的边都必须同向。
  • 连通图(无向图):如果图中任意两点都是连通的(可以不是直接连通,间接连通也可以,只要有路径连接就可以),那么图被称作连通图。
  • 强联通(有向图):若一张有向图的节点两两互相可达,则称这张图是 强连通的
  • 弱连通(有向图):若一张有向图的边替换为无向边后可以得到一张连通图,则称原来这张有向图是 弱连通的

简单图与多重图

  • 自环:若图中存在从顶点i出发并指向顶点i的边,则该边称作一个自环。
  • 重边:若图中存在两条完全相同的边,则它们被称作(一组)重边。
  • 简单图:若一张图中没有自环和重边,它被称为简单图。
  • 多重图:若一张图中有自环或重边,它被称为多重图。

  • :一个顶点在图中的度为与这个顶点相连接的边的数目。对于有向图,顶点的入度是指进入该顶点的边的条数,顶点的出度是指从该顶点出发的边的条数,有向图中顶点的度等于该顶点入度和出度之和。

邻接矩阵

邻接矩阵:存储图的常用方式之一,邻接矩阵只适用于没有重边(或重边可以忽略)的情况。其最显著的优点是可以O(1)查询一条边是否存在。

实现方法:使用一个二维数组a来存边,其中a[u][v]为1表示存在uv的边,为0表示不存在。如果是带边权的图,可以在a[u][v]中存储uv的边的边权。