并行最短路径算法Dijkstra
并行最短路径算法Dijkstra。为实现并行最短路径计算,我们必须要解决如下问题:(1)数据获取:利用随机函数生成大约2000个节点及其节点之间的距离。本程序使用邻接矩阵来存储带权有向图的信息。矩阵大小2000*2000,矩阵中每个元素代表两个地点之间的距离。(2)并发性分析:最外层顺序执行,内层的两个循环实现并发。(3)线程处理:生成n个线程,2000个数据。n-2个线程分配给当前始终点最短路径的计算,其中(n-2)/2个线程求最近顶点,(n-2)/2个线程更新最短路径数组。剩下的2个线程读取下一对起点,终点进行最短路径的计算。(4)结果分析:通过分析数据在不同线程数下,不同矩阵大小下得出的不同运行速度,得到最好的条件。
用户评论