图
1、简单图:没有重复边,不存在结点到自身的边
2、多重图:与简单图相对
3、完全图:无向图,任意两个结点之间存在边
4、连通:v, w之间有路径存在,则称v,w之间连通
连通图:任意两个结点之间是连通的
连通分量:极大连通子图(包含其所有边)
极小连通子图:保证连通的前提下,是的边数最少
强连通图,强连通分量:有向图中考虑、
5、图的存储
邻接矩阵存储:顺序存储,用一个一维数组存储图中的顶点信息,用二维数组存储图中边的信息(邻接矩阵)。
邻接表:结合了链式存储和顺序存储,每个顶点建立一个单链表,第i个单链表中的节点表示第i个顶点的邻居结点,单链表称为顶点vi的边表。顶点信息和指向边表的指针顺序存储。所以在邻接表中存在两种结点:顶点表结点和边表结点。
十字链表:
邻接多重表:详见数据结构(#1)
6、图的遍历:
广度优先(BFS):先访问起始顶点v,接着访问v的各个未访问过的邻居顶点w1 w2 wi。然后再访问w1 wi的各个未访问的邻居顶点。直到所有的顶点都被访问过为止。是一种分层的查找过程。类似于二叉树的层次遍历
深度优先(DFS):先访问起始顶点v,接着访问与v邻接且为被访问的顶点,直到无法再向下访问,依次退回到最新被访问到的节点,若它还有邻居结点还没有被访问则继续上述搜索过程。类似于二叉树的先序遍历。

浙公网安备 33010602011771号