我试图在加权有向图上实现递归深度优先遍历,但似乎我的输出总是关闭的。就像在中一样,我得到了对节点的额外访问。,visited是保存某个索引处的顶点是否已被访问的向量,adj是邻接矩阵。假设我有一个图,正确的深度优先搜索是A->D->B->C->E,我最终得到的是A->D->B->C->E->C->B->E。如果它有帮助,对于这个例子,邻接矩阵如下所示:
| A B C<
can't ascii-art the arrows, so just B CG E D # A -> (B -> G, C -> (E -> F, D -> F)) F
我使用的表示是不可变的,真正的DAG (没有“父”指针我想以某种方式遍历图,同时构建一个具有等价节点的“镜像”图,但节点之间的关系方向颠倒