算法:地图路径的获取,无向图转有向树

1. 节点①到节点⑫的这个区域内有很多节点。如下图

2. 我们为每个节点设置子节点。如下图

3. 最后得到的数据结构。
    这里的例子是由12个节点树组成,如下图。

4. 所有节点平铺后,我们获取了无向图。
    因为是双向图,所以可以认为是无向图。

最简单的获取路径的方法:穷举(迭代)

从上面的图来看,节点之间都是双向的,所以在还没有确定开始节点终点节点之前可以认为它是无向的。

如果开始节点为①, 终点节点为⑫

我们从①开始迭代,,得到下一个节点(子节点)后,删除子节点的逆向边

没了逆向边的树,就成了有向树。

 

迭代中,会有死循环的场景
那么我们就把死循环的开始节点当作终点节点,当然,这个终点节点不是在前面说的⑫。
当迭代结束后,我们得到的所有的路径有两种情况。
一种是非终点路径。
一种是到达终点⑫的路径,还不止一条。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值