Graph 算法:查找是否存在';有向图中从一个顶点到其他顶点的路径是什么?

Graph 算法:查找是否存在';有向图中从一个顶点到其他顶点的路径是什么?,graph,Graph,给定一个有向图。我想要一个算法,如果在一个顶点v到图中的所有其他顶点之间有一条路径,它会发现什么?时间复杂度(|V |+|E |) 我不知道如何处理这个问题。一点点帮助将不胜感激 谢谢。如果问题只是找出一对顶点之间是否存在路径,可以使用。如果存在特定固定图的路径,但要重复各种顶点组合,则a可能更合适。如果问题只是找出一对顶点之间是否存在路径,则可以使用。如果存在特定固定图的路径,但要重复各种顶点组合,则a可能更合适。检查连接顶点伪代码的递归版本: Object Vertex {position,

给定一个有向图。我想要一个算法,如果在一个顶点v到图中的所有其他顶点之间有一条路径,它会发现什么?时间复杂度(|V |+|E |)

我不知道如何处理这个问题。一点点帮助将不胜感激


谢谢。

如果问题只是找出一对顶点之间是否存在路径,可以使用。如果存在特定固定图的路径,但要重复各种顶点组合,则a可能更合适。

如果问题只是找出一对顶点之间是否存在路径,则可以使用。如果存在特定固定图的路径,但要重复各种顶点组合,则a可能更合适。

检查连接顶点伪代码的递归版本:

Object Vertex {position, list_of_connected_vertex, already_checked}
Object Graph  {list_of_all_vertex}

function checkConnected(initial_vertex):
    if initial_vertex is already_checked:
        return
    else:
        initial_vertex.already_checked = true
        for vertex in initial_vertex.list_of_connected_vertex:
            checkConnected(vertex)

if all_are_checked(Graph.list_of_all_vertex) then Vertex is connected.
(清除已为其他顶点和图形检查选中的标志)


是思考问题的自然方式,而不是解决问题的最佳性能方式

检查连接顶点伪代码的递归版本:

Object Vertex {position, list_of_connected_vertex, already_checked}
Object Graph  {list_of_all_vertex}

function checkConnected(initial_vertex):
    if initial_vertex is already_checked:
        return
    else:
        initial_vertex.already_checked = true
        for vertex in initial_vertex.list_of_connected_vertex:
            checkConnected(vertex)

if all_are_checked(Graph.list_of_all_vertex) then Vertex is connected.
(清除已为其他顶点和图形检查选中的标志)


是思考问题的自然方式,而不是解决问题的最佳性能方式

一步一步地做一个递归算法:1。-取起始顶点v,将其标记为选中。2.-检索与其连接的所有顶点并调用相同的函数,如果已检查顶点,则停止递归调用。3、检查所有节点是否被检查。作为回答,如果你用希望的语言添加一个长度标签(我知道它,最好是:C++,Python,Haskell,java),一步一步地做递归算法:1,取一个起始顶点V,把它标记为检查,我可以在代码上做个例子。2.-检索与其连接的所有顶点并调用相同的函数,如果已检查顶点,则停止递归调用。3、检查所有节点是否被检查,作为回答添加,如果你用希望的语言向问题添加一个长度标签(我知道的话,最好是:C++,Python,Haskell,java),我可以在代码上做个例子。问题是图中的一个给定顶点是否与图上的其他每个顶点相连,问题是图中的一个给定顶点是否与图上的其他每个顶点相连。