深搜学习

Epai={pai[v],v:v-V&&pai[v]!=NIL} Epai为树边;

深搜对每个顶点都加了一个时间戳,每个顶点有两个时间戳,当顶点v第一次被发现(被标记成灰色)时,记下第一个时间戳的d[v],当结束检查v的邻接表(黑色),记下第二个时戳f[v],d[v]<f[v],顶点v在d[v]之前是白色,在d[v]和f[v]之间为灰色,以后就变成黑色了;

DFS(G)

 for each vertex u-v[G]

   do color-white

   pai[v]=NIL

   time=0

   for each u-v[G]

    do if color[u]=white

      dfs(u)

dfs_visit(u)

  color[u]=GRAY

  time=time+1

  d[u]=time

  for each v-Adj(v)

    dfs_visit(v)

color[v]=black

f[v]=++time;

posted on 2011-10-25 20:37  Goal  阅读(184)  评论(0编辑  收藏  举报

导航