图算法基础
cicirise
这个作者很懒,什么都没留下…
展开
-
缩点
无向图的连通性先明白一些概念。割点:若一个点删除后(也就是与之相连的边统统去掉),无向图不再连通,那么此点称为割点。桥:若一条边断去后,无向图不再连通,那么此边称为桥。桥有一个很好的性质,就是DFS一个无向图,那么这个过程必定要经过桥。块:没有割点的无向图称为2-连通分支,也称作块。割点、桥均可以在DFS的过程中求得。那么,对于一个无向图有以下操作:1.将一个无向图的块缩成一个点。这个时候要注意,转载 2009-02-19 19:19:00 · 2267 阅读 · 0 评论 -
图的度序列:Havel定理
给定一个非负整数序列{d1,d2,...dn},若存在一个无向图使得图中各点的度与此序列一一对应,则称此序列可图化。进一步,若图为简单图,则称此序列可简单图化。可图化的判定比较简单:d1+d2+...dn=0(mod2)。关于具体图的构造,我们可以简单地把奇数度的点配对,剩下的全部搞成自环。可简单图化的判定,有一个Havel定理,是说: 我们把序列排成不增序,即d1>=d2>=...>=dn,则d转载 2009-02-23 13:29:00 · 1287 阅读 · 0 评论 -
割点和桥算法——摘自《算法艺术与信息学竞赛》
最近在做圆桌骑士的问题,在一个无向图中求出双连通分量,判断各双连通分量中是否含有奇圈,求出不能构成奇圈的节点的个数。思路大概明确了,但是写的时候老是出现问题,所以专题又看了一下双连通分量的算法,看来看去,还是刘汝佳的最经典,索性直接手打出来,方便以后再看void DFS(节点编号k,k的父亲节点编号father,deep){ int i,tot; 染色C_k=灰色;D_k=deep记录顶点k在树中翻译 2009-04-13 10:57:00 · 2253 阅读 · 0 评论