一、问题描述
给定一个随机带权有向图,每条边的权是一个实数。另外给定图中一个顶点,称为源。计算源到各顶点的最短路径长度(即距离),要求能随机生成图,随机指定源点计算出到顶点的最短距离。
二、解题思路
首先利用邻接矩阵定义一个随机有向图
其次利用迪克斯特拉算法求解源点到各个顶点的最短距离
最后利用回溯递归最短路径
迪克斯特拉算法:是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题。迪杰斯特拉算法主要特点是从起始点开始,采用贪心算法的策略,每次遍历到始点距离最近且未访问过的顶点的邻接节点,直到扩展到终点为止。
三、解题过程
随机生成有向图
随机指定源点
迪克特拉斯算法