luck_dream 2012-06-27 11:28
浏览 350
已采纳

有向图路径求解

[img]http://dl.iteye.com/upload/attachment/0069/9953/0be4fc94-5584-3c45-b340-07353e5a52c9.jpg[/img]
要求:输入
{{A,B}, {A,C}, {B,D}, {D,C}, {C,B}},A,B,C,D等都表示一个站点。{A,B}表示从A可以到B,{A,C}表示从A可以到C,以此类推,如上图所示。
结果:
1,输入{A,D},要求输出{A,B,D}(基于上图)
2,输入{B,A},则输入无法找到路径

麻烦大家帮忙看看吧,或者给点思路,万分感谢大家了。

  • 写回答

2条回答 默认 最新

  • 爱上一条鱼 2012-06-27 12:43
    关注

    深度优先伪代码,先遍历找到路径 把路径的节点存到栈里,再pop出来输出

    [code="java"]bool arriveEnd(node src, node dest) {
    for(every node i pointed by src) {
    if(i == dest) {
    push(i) to stack;
    return true;
    } else if(arriveEnd(i, dest)) {
    push(i) to stack;
    return true;
    }
    return false;
    }
    }
    void print () {
    if(arriveEnd(src,dest))
    print stack.pop();
    }
    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器