日期:2014-05-18  浏览次数:20870 次

真心求解答,很有挑战性
朋友之间的关系,例:
A 认识 B,B 认识 C,C 认识 D,D 认识 E
B 认识 F,B 认识 G,C 认识 F
在数据库中有很多条这样的记录


我想得到一条路径,比如我想查找出 如果A想认识D的话,需要通过的人(B,C)

苦思冥想三天了,还是没有特别好的办法

需求其实就是希望找到 任意一个人,到另外一个人 之间经过了多少人

然后,取得最短的那条路径


分实在不多,为了这个题目,在CSDN上下载了太多的东西,对不住各位

------解决方案--------------------
凡是你遇到了“最”这个字,这其实就没有什么技术含量了!

比如打仗,都是创造一个相对有利的态势,如果真的是创造什么“最好”的态势,那么就是纸上谈兵、书生误国了!
------解决方案--------------------
广搜可以解决,把搜到的做一个标识,避免重复搜索,不知道这个数据量有多大?弄不好得双向搜。

------解决方案--------------------
这似乎是图求最短路径吧,去看看数据结构中的图论部分,估计能给你提示
------解决方案--------------------
其实结帖率往往比分数更让人关注
玩运筹学?