大二上 数据结构课程设计 学校超市选址问题 带权
大二上 数据结构课程设计 学校超市选址问题 带权设计要求:对于某一学校超市,其他各单位到其的距离不同,同时各单位人员去超市的频度也不同。请为超市选址,要求实现总体最优。解决方案:轮流以每一个顶点为源点
大二上数据结构课程设计学校超市选 址问题带权 设计要求:对于某一学校超市,其他各单位到其的距离不同,同时各单 位人员去超市的频度也不同。请为超市选址,要求实现总体最优。 解决方案:轮流以每一个顶点为源点,重复执行Dijkstra算法n次,就可 求得每一对顶点之间的最短路径及最短路径长度,总的执行时间是O(n3)。 Dijkstra算法:Dijkstra算法也称单源最短路径。 为了求得这些最短路径,Dijkstra提出了按路径长度的递增次序,逐步产 生最短路径的算法。首先求出长度最短的一条最短路径,然后参照它求出长度 次短的一条最短路径,依次类推,直到从顶点u到其它各顶点的最短路径全部 求出为止。 由于本人能力有限,时间有限所有只能写出这样的代码啦。也就应付应 付学校,内存的回收工作都没有去写,还有很多扩展也没有去做。如果各位朋 友有兴趣可以自己去扩展,比如加个点,加条边等等,都可以很方便的扩展。 这个程序是我用邻接表来实现的,网上有很多用邻接矩阵来实现。但他 们的思想是一样的,都是用了Dijkstra算法。也许这个程序是我在大学写的最 后一个用C++写的算法程序了吧。由于本人不喜欢研究这些"神马"般的算法, 我更喜欢用C#,用VS来创造现实中有意义的东西。这也是我的目标成为一 名优秀的工程师而不是一名研究人员。 还有一点我要声明,这个程序不希望有人用来做为应付学校工具,我希 望大家在学习中找到快乐,而不是无尽的痛苦。 如果各位有兴趣,我正在做PPT和实验报告,大家可以问我要来参考一 下。 还有,在程序中有些程序段我打了注释是一些测试代码而非实现代码。 源代码: 一个源文件 ////////////main.cpp////////////// #include"MyGraph.h" #include"MyMethods.h"

