摘要:利用深度优先搜索去寻找割点. (1)定义:什么叫做割点?割点的定义是针对无向连通图的.如果删除某一个节点后该图仍然是连通的,那么这个图是双连通的.否则被删除的节点叫做割点. (2)寻找割点的基本思路: [1]首先利用深度优先搜索给图进行编号.对每一个节点我们称它的编号为先序编号Num[v]。然后对深度搜索优先树每一个定点v计算它能够通过一条背向边或者树的零边或其他边达到的先序编号最低的顶点,称为Low[v]; [2]背向边的定义是:在深度优先搜索时对节点v的邻接节点访问,发现某个节点w已经被访问了,那么就有一条背向边(v,w). [3]判定割点的定理与其证明: {1}根是割点当前仅当它有多余一个的儿子(在优先生成树中),因为一个儿子不可能不通过根到达另一个儿子。试想:假设可能,那么它们之间就存在一条背向边,或者根的某个子孙通过背向边连接到根的另一棵子树.根据深度优先搜索的算法,只有根的某个子树上所有可能的点都被访问完,才会进入下棵子树(另一个儿子的儿子之间不会有背向边. {2}如果非根节点,那么当且仅当它有某个儿子w使得Low[w] ≥