本文共 531 字,大约阅读时间需要 1 分钟。
【描述】: 无向图的最短路径 — Dijkstra(适用于非负权值边)
【输入】:
【输出】:
顶点 距离(与源点)
0 0
1 3
2 5
3 4
4 4
/* Dijkstra(不适用于负权值的边)*/#includeusing namespace std;/* 宏定义 */#define INFINITY 65535#define MAX_NUM 100#define EleType int/* 定义一些需要的变量 */bool visit[MAX_NUM]; //顶点i 是否已经走过了int dist[MAX_NUM]; //源点到 顶点i 的距离const int vertices = 5; //顶点数/* 定义图 */int graph[vertices][vertices] = { { 0,3,6,5,0 }, { 3,0,0,1,1 }, { 6,0,0,1,1 }, { 5,1,1,0,1 }, { 0,1,1,1,0 }};/* 通过dist数组得出得出当下到源点的最小顶点 */int getMin() { int min = INFINITY; int minIndex; for(int i = 0; i