线性表--->树--->图,线性表只有一个前驱一个后继,树有一个前驱多个后继,图一个结点有多个前驱多个后继。线性表和树是图的特例。
基本概念:
图的构成:
一个图是由两个集合:V和E所组成,V是有限的非空顶点集合(vertex),E是用顶点对表示的边(edge)集合,图G的顶点集和边集分别记为V(G)和E(G),而将图G表示为G=(V,E)。(图一定要有至少一个顶点,可以没有边)
无向图和有向图:
两者的边表示分别为:(A,B) 和 <A,B>
(A,B)和(B,A)是相同的,<A,B>和<B,A>是不同的。
顶点的度:
是关联它的边的数量。
对于有向图顶点的度分为入度和出度。有向图的度=入度+出度
子图:
完全图:
在无向图中,每对顶点之间都有一条边相连。
在有向图中,每对顶点之间都有两条有向边互相连接。
路径和回路:
路径为边的数目。
回路:绕了一圈回到起点(可以重复顶点)。简单回路:不走重复点。
连通图和连通分量:
任何两点之间都有路径可以抵达称为连通图。
对于有向图,分为强连通(双向)和若连通(单向)
连通分量:连通图分割的子部分。
网络:
图中每一条边都有一个权值。
图的存储:
邻接矩阵,有向图的邻接矩阵
网络的邻接存储方式
邻接表(邻接链表)