给定一个地图包括若干个城市(每个城市为一个顶点,连接城市的道路为边或弧,其权为距离),求解该地图上任意两个城市之间的最短路径。要求采用图的数据结构。
邻接矩阵存储 + Dijkstra解法
邻接链表存储 + Floyd 解法
用C++
咕~~(╯﹏╰)b 我这么懒,没自己写。网上好多
参考:
邻接矩阵存储 + Dijkstra解法
1 图算法 单源最短路径 Dijkstra算法(邻接表/邻接矩阵+优先队列STL)
3 于Dijkstra算法的最短路径问题求解(不带权值的Dijkstra算法)http://wenku.baidu.com/link?url=7gzM5q6bBOErPdoVCZm2iW9F1DS58QBhDPehjbE_nq07aHJy8LbTSdN4OJxyila1UsruxY1NI_90ulaU0q6C_RqpY4F37iWvtlMpo7XxHxu
邻接链表存储 + Floyd 解法 【没找到邻接链表存储的源码,你可以根据第一个改改】
1 最短路径算法—Floyd(弗洛伊德)算法分析与实现(C/C++) (邻接矩阵方法实现)
3 江苏大学数据结构C++以邻接链表的方式确定一个无向网 http://wenku.baidu.com/link?url=yXb_kMk_qI-BOx0d4nl4ggcCsxR7uR0iKSqM6-t7VTg5exS_uXbUPoS24_HU_9dd7X0TLUdV4_i4LSGXWgU1oE-svalx3x270dDl2OTpdlS
4 数据结构的C++实现之图的存储结构之邻接表(2) http://www.bianceng.cn/Programming/sjjg/201308/37187_2.htm