C语言 最短旅游路径问题 大哥们,高手们,帮帮忙!实在是分不多,就这点了,帮帮忙吧!

1.能够对各个景点名称进行输入和修改
2.能够对各个景点的距离进行输入和修改
3.能够输出从出发点出发,然后保证每个景点游玩仅一次,然后回到出发点的最短路径(即游历个景点的次序)!
最好是用图实现!

。。。第三问好像是 最小权哈密尔顿回路问题,不是传统的Dijkstra单源最短路径问题。你这个问题,没有太好的算法。又叫旅行售货员问题,这是一个NP问题。你们老师比较恶心啊。不知道景色是多少个。这个算法写出来会很慢的

http://gdgzzch.blog.163.com/blog/static/37640452200810995854471/ 这种暴力搜索的程序,,可能要跑十几分钟的。不过如果 如果景色数是10个左右,还是可以接受的追问

呵呵 ,没办法!
景点个数可以任意定,多少都可以

追答

这个算法的基本思路就是搜索所有的可能性,就是说一共有n! 种可能,每 种可能都算一下,取最优值。 所以 n=100时,这个数字就是天文数字了。

追问

我决定这样不好吧,数据结构里有个图的结构中有最短路径的讲解,就是说图这种结构可以解最短路径!

追答

.....图是什么结构。。。图根本 不是你说的那种结构,,图就是一种表示地图的方法。用邻接矩阵或者邻接表。但也仅仅是一种表示方法。根本就与解无关。。。而且书上说的最短路径,是任意两点之间的最短路径,而不是这种遍历所有点,然后路径和最短的。。

温馨提示:答案为网友推荐,仅供参考