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