数据结构与算法C++之图的获得两点之间的一条路径

通过深度优先遍历算法,本文介绍了如何在C++中实现获取图中任意两点之间的一条路径,该方法有助于检测图中的环。
摘要由CSDN通过智能技术生成

使用深度优先遍历即可获得两点间的一条路径
在这里插入图片描述
定义 Path.h 实现获取路径

 #include <stack>
 #include <iostream>
 #include <cassert>

 using namespace std;

template <typename Graph>
class Path{
   

private:
    Graph &G;
    int s;
    bool *visited;
    int *from;

    void dfs(int v){
   
        visited[v] = true;

        typename Graph::adjIterator adj(G, v);
        for ( int i = adj.begin(); !adj.end(); i = adj.next() ){
   
            if ( !visited[i] ){
   
                from[i] = v;
                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值