求一个路由的算法

llxzj60 2008-12-04 08:42:47
求一个路由的算法,各位大哥帮帮忙~~谢谢先
要求:找到从1到5的路
路定义如下:
1到1 2到3 3到3
1到2 2到4 3到4
1到3 3到5
...全文
137 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
llxzj60 2008-12-05
  • 打赏
  • 举报
回复
不需要最佳路径,需要的是所有路径
journeydj 2008-12-05
  • 打赏
  • 举报
回复
肯定是要逆向处理,从5往回找,找到1, 但是怎么能找出最佳路线就不知道了。。。。
llxzj60 2008-12-05
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 0009 的回复:]
不大明白你说的路由算法是什么

换照你的题目:
1-5的路径是不是
1-3-5
1-2-3-5
1-2-4-3-5
[/Quote]
题目就是有个路径表,求起始点到目标点的路径,即N个节点相连,求起始点x到终点y
llxzj60 2008-12-05
  • 打赏
  • 举报
回复
不好意思,这个问题一直没有弄太明白,这两天比较忙,先结帖了,谢谢大家
llxzj60 2008-12-04
  • 打赏
  • 举报
回复
我有表专门存储路径数据,正在思考您给我的思路
slimfeng 2008-12-04
  • 打赏
  • 举报
回复
那肯定就不处理了,说明这条路不通(不能达到起点1)
至于路径的存储,一种方式可以采用矩阵方式(这种方式存储开销大,冗余大,但处理较快),另一种方式针对每个节点存储能到这个节点的节点(这种方式每次判断能不能到,需要查询,如果节点多的话速度会受影响)。
一点拙见,敬请参考。
gsl2009 2008-12-04
  • 打赏
  • 举报
回复
关注,帮顶!
llxzj60 2008-12-04
  • 打赏
  • 举报
回复
有个问题请教,当排除点为3,5时,如果4节点没有路如何处理,如下图
2 4
/| /
1 | /
\|/
3---5
llxzj60 2008-12-04
  • 打赏
  • 举报
回复
2---4
/| /
1 | /
\|/
3---5
似乎有点思路了,谢谢slimfeng我再想想
slimfeng 2008-12-04
  • 打赏
  • 举报
回复
你只是列出所有路径不是寻找最优路径(如果是最优路径的话可以考虑Dijkstra算法,一般处理的每条路径是加权的)
可以从终点5开始,找到能到5的点只有3,然后再找能到3的路径有两条(这时就不考虑3到5的路),2和4
再看能到2的路(此时排除的点有3、5)有两条1和4,出现1(起点)就算是找到一条路(1、2、3、5);再看分支4(此时排除点为2、3、5)没有路可走,所有抛弃这条路。
再考虑刚才的4支路(此时排除点为3、5)有一条为2,能到2的路(此时排除点为5、3、4)有一条为1,这是找到的第二条路(1、2、4、3、5)。
即在寻找过程中每次增加新节点需要调整排除点。
处理过程中没有考虑1到1,3到3的路。
llxzj60 2008-12-04
  • 打赏
  • 举报
回复
可能图更加直观一点

2---4
/| /
1 | /
\|/
3---5
llxzj60 2008-12-04
  • 打赏
  • 举报
回复
谢谢帮顶~~~
gislqy 2008-12-04
  • 打赏
  • 举报
回复
关注,帮顶!
FlyBee 2008-12-04
  • 打赏
  • 举报
回复
关注 帮顶
llxzj60 2008-12-04
  • 打赏
  • 举报
回复
大侠们都跑哪儿去了
快进来帮帮我吧~~
神啊
llxzj60 2008-12-04
  • 打赏
  • 举报
回复
自己顶下先
RexZheng 2008-12-04
  • 打赏
  • 举报
回复
不大明白你说的路由算法是什么

换照你的题目:
1-5的路径是不是
1-3-5
1-2-3-5
1-2-4-3-5
llxzj60 2008-12-04
  • 打赏
  • 举报
回复
不好意思,今天很忙,一直没有时间好好思考,还是没有完全明白,明天结帖

111,130

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧