【问题标题】:Adjacency Matrix -> Directed graph -> DFS邻接矩阵 -> 有向图 -> DFS
【发布时间】:2013-04-02 05:45:10
【问题描述】:

这是我和我的朋友在摆弄之后得出的代码。我们正在尝试做的是读取邻接矩阵(input.txt),然后从中创建一个有向图,以便我们可以使用深度优先搜索来搜索它。我们希望程序的输出提供访问节点的顺序。

java代码: http://pastebin.com/bAzBadxi

input.txt 文件: http://pastebin.com/r72J34uA

我的问题是,我们将“n”初始化为什么? (java代码第32行)

任何帮助将不胜感激。

【问题讨论】:

    标签: java depth-first-search directed-graph adjacency-matrix


    【解决方案1】:

    在使用之前创建一个顶点对象。

    Vertex n;    // before g.addVertex(n);
    

    我没有验证你的算法,只是删除编译器错误,如果你的算法是正确的,它应该可以正常工作

    【讨论】:

    • 谢谢,它确实编译了,但算法肯定是欠缺的。
    【解决方案2】:

    您要解决的是拓扑排序问题。

    Topological sorting

    在这种情况下,不管你初始化什么,你都可以简单地使用邻接矩阵中的第一个顶点作为开始。

    而邻接矩阵(应该是方阵)是有向图的合法表示,可以直接用矩阵搜索图。

    【讨论】:

    • 谢谢。它现在可以编译,但没有任何显示,即使我已将矩阵更改为正方形(感谢提示)。关于我们如何修复它的任何提示?有没有办法将 n 设置为邻接矩阵中的第一个顶点?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多