DFS BFS

作者: wncbbnk | 来源:发表于2018-10-20 17:13 被阅读0次
    DFS(G)
    --for each vertex u belonging to G.V
    ----u.parent=nil
    ----u.color=WHITE
    --time=0
    --for each vertex u belonging to G.V
    ----if u.color==WHITE
    ------DFS-Visit(u)
    
    DFS-Visit(G, u)
    --time=time+1
    --u.discoveryTime=time
    --u.color=GRAY
    --for each v beloning to G.Adj[u]
    ----if v.color==WHITE
    ------v.parent=u
    ------DFS-Visit(G, v)
    --u.color=BLACK
    --time=time+1
    --u.finishTime=time
    
    BFS(G, s)
    --for each vertex u belonging G.V-{s}
    ----u.color=WHITE
    ----u.d=MAX
    ----u.parent=nil
      
    --s.color=GRAY
    --s.d=0
    --s.parent=nil
    --Q={}
    --ENQUEUE(Q, s)
    --while Q is not empty
    ----u=DEQUEUE(Q)
    ----for each v belonging to G.Adj[u]
    ------if v.color==WHITE
    --------v.color=GRAY
    --------v.d=u.d+1
    --------v.parent=u
    --------ENQUEUE(Q. v)
    ----u.color=BLACk
    

    相关文章

      网友评论

          本文标题:DFS BFS

          本文链接:https://www.haomeiwen.com/subject/qmymzftx.html