求一个路由的算法,各位大哥帮帮忙~~谢谢先
要求:找到从1到5的路
路定义如下:
1到1 2到3 3到3
1到2 2到4 3到4
1到3 3到5

解决方案 »

  1.   

    你只是列出所有路径不是寻找最优路径(如果是最优路径的话可以考虑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的路。
      

  2.   

       2---4 
      /|  / 
     1 | / 
      \|/ 
       3---5
    似乎有点思路了,谢谢slimfeng我再想想
      

  3.   

    题目就是有个路径表,求起始点到目标点的路径,即N个节点相连,求起始点x到终点y