给出一张无向图,求出无向图中各点的最短路径

本文介绍如何求解无向图中所有点对之间的最短路径。首先,详细描述了问题背景,接着探讨了无向图的特点。最后,通过测试结果验证了算法的有效性。

问题描述

给出一张无向图,求出无向图中各点的最短路径

详细设计

#include<iostream>
#include <vector>
#include <iomanip>
const int N = 20;
const int INF = 9999999;
using namespace std;


class Graph
{
   
   
private:
   // 存储距离
   int matrix[N][N];
   // 地点数量
   int n;
   // 地点名称
   vector<string> names;
   // 地点描述
   vector<string> descriptions;

public:
   // 初始化,设置所有距离为无穷大
   Graph()
   {
   
   
      n = 0;
      for(int i = 0; i < N; i ++)
         for(int j = 0; j < N; j ++)
            matrix[i][j] = INF;
   }
   // 显示地图矩阵
   void display()
   {
   
   
      cout << "当前一共有" << n << "个地点:" << endl;
      for(int i = 0; i < n; i ++)
         cout << names[i] << endl;
      cout << endl << "邻接矩阵存储如下:" << endl;
      for(int i = 0; i < n; i ++)
      {
   
   
         for(int j = 0; j < n; j ++)
         {
   
   
            if(matrix[i][j] == INF)
               cout << setw(6) << ' ';
            else
               cout << setw(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值