Dijskra迪杰斯特拉算法

本文介绍了图论中的迪杰斯特拉算法,用于找出从源点0到其他所有顶点的最短路径。以0到6为例,最短路径长度为16,并详细展示了从0出发到各个顶点的最短路径及其长度。同时,提供了算法的代码实现,并附带了相关PPT下载链接供进一步学习。
摘要由CSDN通过智能技术生成

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

输出最短的路径,这里以源点0=>6进行说明,dist[6]=16,即该路最短路径长度为16。path[6]=4,path[4]=5,path[5]=2,path[2]=1,path[1]=0,反推出最短路径为0 -> 1-> 2 -> 5 - > 4 -> 6

从顶点0到顶点1的路径长度为:4 路径为:0,1
从顶点0到顶点2的路径长度为:5 路径为:0,1,2
从顶点0到顶点3的路径长度为:6 路径为:0,3
从顶点0到顶点4的路径长度为:10 路径为:0,1,2,5,4
从顶点0到顶点5的路径长度为:9 路径为:0,1,2,5
从顶点0到顶点6的路径长度为:16 路径为:0,1,2,5,4,6

dijskra算法代码实现

#ifndef UNTITLE_MATGRAPH_H
#define UNTITLE_MATGRAPH_H

#endif //UNTITLE_MATGRAPH_H
#define MAXV 10
#define INF 32767
typedef struct {
   
    int no;                 //顶点的编号
    char info;              //顶点的其他信息
}VertexType;                //顶点的类型
typedef struct {
   
    int edges[MAXV][MAXV];  //邻接矩阵数组
    int n, e;               //定点数,边数
    VertexType vexs[MAXV];  //存放顶点信息
}MatGraph;                  //完整的邻接矩阵类型
#include "../MatGraph.h"
#include "bits/stdc++.h"

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值