图
一、 基本定义与应用
图:由结点集合V和边集合E构成,其中每条边与两个结点相交。
有向图可以表示不对称的关系
图的例子:运输网络,通信网络,信息网络,社会网络,依赖网络。
路径与连通性:存在一条从u到v的路径,称一个无向图是连通的
如果对每两个结点u与v,都存在一条从u到v的路径和一条从v到u的路径,我们说一个有向图是强连通的。
树:一个无向图如果是连通的,且不包含一个圈,我们就说它是一颗树。
树是最简单的连通图,删除树中的任意一条边将使得它不再连通。
命题3.1 每棵n个结点的树恰好由n-1条边。
定理3.2 设G是具有n个结点的无向图,下面任意两个语句都可以推出第三个语句。
(i)G是连通的
(ii)G不包含一个图
(iii)G有n-1条边。
二、图的遍历
s-t连通性问题也可以叫做迷宫求解问题。
1 宽度优先搜索
确定s-t连通性最简单的算法——宽度优先搜索(BFS)
定理3.3 对每个j≥1,由BFS产生的层 Lj 恰好由所有到s距离为j的结点组成,存在一条从s到t的路径,当且仅当t出现在某个层中。
(层 Lj 恰好是所有到s结点距离为j的结点的集合)
(BFS不仅确定了s可以达到的结点,也计算了他们的最短路径)
定理3.4 设T是一颗宽度优先搜索树,设x和y是T中分别属于层 Li 和 Lj 的结点,并且设(x,y)是G的一条边,那么i与j至多差1。
探查一个连通分支:
从始点s可达的结点,将把这个集合R看作G的包含s的连通分支。(可回答s-t连通性问题ÿ