算法描述
给定由n个节点组成的图以及节点间的边对应的权,图上两节点间的距离定义为两节点间简单路径上所有边权的和,查找图上任意两节点间的最优距离。
算法逻辑分析
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 使用矩阵的数据结构存储图结构,矩阵中节点之间有边的元素值为1,无边的元素值为0。 定义二维数组Array存储图结构的节点之间的权值,例如,n个节点的图结构,矩阵大小为n*n,二维数组大小为n*n,二维数组Array[1][2]=3表示节点1与节点2之间的权值为3。 遍历图结构对应的矩阵关系的二维数组,以邻近节点汇聚的方式计算两节点间的最优距离。 |
Java算法代码
主函数:

显示节点路径函数:

计算两节点间的路径:

节点路径去重:


合并路径:

连接路径:




向上计算路径:



向下计算路径:



生成图矩阵数据:

生成图边数据:



连接图边节点:
