图
图的定义:是一种较线性结构和树更为复杂的数据结构,图中任意两个结点之间都可以直接相关。顶点之
间的关系是多对多的。
图是一个二元组:G=(V,E),v定点集合,E边集合
图分为无向图和有向图。
注意有向图边的集合元素之间是用<>包起来的。
顶点:图中的数据元素。
边:两个顶点之间的关系。
无向图中的顶点偶对(例如:()v1,v2)边)(边)是无序的。
有向图的图中顶点偶对(弧)是有序的。
完全图和有向完全图:
完全图:如G:4个顶点,4*(4-1)/2=6,正好6条边。
有向完全图:如G4:4个顶点。4*(4-1)=12,正好12条边。任意两个顶点之间都有两条不同向的边。
稀疏图:有很少的边或者弧的图。
稠密图:有很多的边或者弧(有向图里面边也叫作弧)的图。
子图:第二个图的所有顶点都包含在第一个图中的顶点集之中,同时第二个图的所有边都在第一个图中的边
集合中。
权和网:
权(Weight):与图的边相关的数值。
网(Network):带权的图。
邻接点:
无向图:两个存在于主图顶点集合当中的顶点之间相互关联,这种称为v1和v2相邻接。
有向图:起点邻接于终点。
两种图的邻接关系不同。
顶点的度:在无向图中,和该顶点相关联的边的数目称为顶点的度。
TD:表示指定顶点的度。
有向图中:以x顶点为尾的弧的数目称为顶点x的出度,以x为头的弧的数目称为顶点x的入度。
有向图中:顶点的度等于该顶点的入度和出度之和。
路径与路径长度。
路径:在图中,若从顶点x除法,经过一些顶点v1、v2、…、vm到达顶点y。则称为顶点序列为(x、v1、
v2、…、vm、y)为顶点x到顶点y的路径。
路径长度:
①非带权图的路径长度是指此路径上砭的条数,
②带权图的路径长度是指路径上各边的权之和。
简单路径:序列中的顶点不重复出现的路径。
回路(环):第一个顶点和最后一个顶点相同的路径。
简单回路(环):除第一个和最后一个顶点,其余顶点不重复出现的路径。
连通图与连通分量:
连通:在无向图中,如果从x到y存在路径,则称为x和y是连通的。
连通图:无向图G中如果任意两个顶点x、y之间都是连通的,则称为G是连通图。
例如:这个图是连通图,但不是完全图,每个顶点之间都存在路径。
连通分量:无向图中的 极大连通子图。
第一个图是主图:后面三个都是第一个图的连通子图。
极大连通子图:将主图中的任意一个不在子图中的任意顶点放在子图当中,将导致子图不再是连通图。
例如:D、E两个顶点,将其他的任意顶点放在这两个顶点的子图当中,都会导致子图不是连通图,所以这个
虽然是两个顶点,但是依然是个连通子图。
有向图中的强连通图和连通分量:
强连通图:有向图G中任意两个顶点x、y之间都是相互科大的。称为G是强连通图。两个顶点之间都有互相指
向的弧。
连通分量:有向图中的极大连通子图。
例如第二个,就不是强连通图。
有向图的极大连通子图:
最后一个图的两部分都是第二个图的连通分量。也就是极大连通子图。
图的存储结构:
图需要存储的信息:顶点和边;
1、邻接矩阵:表示顶点之间相邻关系的矩阵。里面的值不是1就是0
两个顶点可达为1,不可达为0----<>表示边元素。