图的基本概念

图是由结点集合及结点间的关系集合组成的一种数据结构,也可以这么理解,图是这样一种结点集合,若规定了其中某个结点为初始结点,则图中每个结点可以有零至多个直接前驱和零至多个直接后继。

图G=(V,E),其中V={x|x∈某个数据元素集合},E={(x,y)|x,y∈V}或E={<x,y>|x,y∈V并且Path(x,y)}。式中(x,y)表示从x到y的一条双向通路,即(x,y)是无方向的;Path(x,y)表示从x到y的一条单项通路,即<x,y>使有方向的。

对于基本图(不包含带自身环的图和多重图)有如下基本名词:

(1)结点(顶点)和边:图中的顶点也称为结点,记第i个结点为vi,结点vi和vj相关联称vi和vj之间有一条边,记第k条边为ek=(vi,vj)或<vi,vj>。

(2)有向图和无向图:有向图中结点对<x,y>用一对尖括号括起来,x是有向边的始点,y是有向边终点,有向图中的边也称作弧,边的方向用箭头画出;在无向图中结点对(x,y)是无序的,称(x,y)为与结点x和结点y相关联的一条边,(x,y)等价于<x,y>和<y,x>。

(3)完全图:在n个结点的无向图中,若有n(n-1)/2条边,即任意两个结点间有且只有一条边,则称此图为无向完全图;在n个结点的有向图中,若有n(n-1)条边,即任意两个结点间有且只有方向相反的两条边,则称此图为有向完全图。

(4)邻接结点:无向图G中,若(u,v)是E(G)中的一条边,则称u和v互为邻接结点,并称边(u,v)依附于结点u和v,也即与结点u和v相关联;在有向图G中,若<u,v>是E(G)中的一条边,则称结点u邻接结点v,结点v邻接结点u,并称边<u,v>和结点u,结点v相关联。

(5)结点的度:结点v的度是与它相关联的边的条数,记作TD(v);对于有向图,结点的度TD(v)等于该结点的入度ID(v)和出度OD(v)之和,其中结点v的入度是以v为终点的有向边的条数,出度是以v为始点的有向边条数;对于无向图,结点的度等于该结点的入度或出度,即TD(v)=ID(v)=OD(v)

(6)路径:在图G中,若从结点vi出发有一组边能到达结点vj,则称vi到结点vj所经过的结点序列为vi到vj的路径。

(7)权:有些图的边附带有数据信息,这些附带的数据信息称为权,用w表示。

(8)路径长度:对于不带权的图,一条路径的路径长度是指该路径上的边的条数;对于带权的图,一条路径的路径长度是指该路径上各个边权值的总和。

扫描二维码关注公众号,回复: 2665238 查看本文章

(9)子图:设有图G1={V1,E1}和图G2={V2,E2},若V2∈V1且E2∈E1,则称G2是图G1的子图。

(10)连通图和强连通图:在无向图中,若从结点vi到结点vj有路径,则称结点vi和结点vj是联通的,如果图中任意一对结点都是连通的,则称该图是连通图;在有向图中,若对任意一对结点vi和vj都存在路径,则称该图是强连通的。

(11)生成树:一个连通图的最小连通子图称作该图的生成树,n个结点的连通图的生成树有n个结点和n-1条边。

(12)简单路径和回路:若路径上各结点v1,v2······vm互不重复,则称这样的路径为简单路径;若路径上第一个结点v1和最后一个结点vm重合,则称这样的路径为回路或环。

图的抽象数据类型:

数据集合:由一组结点集合{vi}和一组边集合{ej}组成,若为带权图还有权集合{wj}。

操作集合:一般有,初始化、插入结点、插入边、删除边、删除结点(及该结点相关的边)、获取第一个邻接结点、获取下一个邻接结点和遍历。

说明:图中每个结点的若干个邻接结点之间是没有先后次序的,但对于一个具体的图,一旦该图建立完毕,则图中每一个结点的所有邻接结点之间就有次序之分。

猜你喜欢

转载自blog.csdn.net/sinat_32561655/article/details/71249215