Dijkstra算法的的简介就不再写了,已经有很多比较好的资源讲述了Dijkstra算法的原理与步骤。
本博客直接讲述解题方式和代码编程。
一、Dijkstra解题

ps:忽略丑字,写这两个把我折磨惨了~
二、C语言编程
针对上面的问题来进行C语言编程,直接上代码
1、dijkstra.c:
#include<stdio.h>
#include<stdlib.h>
#define NUMS 8
#define INF 65535
typedef struct
{
char vertex[NUMS];
char fVertex[NUMS];
int distance[NUMS];
int edges[NUMS][NUMS];
int n,e;
}Graph;
void Ppath(Graph G);
void ReadGraph(Graph *G)
{
int i,j;
FILE * fp = fopen("dij.txt","r");
G->n = NUMS;
G->e = NUMS * NUMS;
for(i=0; i<NUMS; i++)
{
for(j=0; j<NUMS; j++)
{
fscanf(fp,"%d",&(G->edges[i][j]));
}
}
}
void Djikstra(Graph G)
{
int i,j,k,tmp;
for(i=0; i<NUMS; i++)
{
G.distance[i] = INF;
G.vertex[i] = 0;
G.fVertex[i] = 0;
}
G.distance[0] =

本文跳过Dijkstra算法的原理介绍,直接探讨解题方法和C语言编程实现。通过实例代码展示了如何使用C语言编程解决Dijkstra算法问题,并提供了运行结果验证。同时推荐了两个学习Dijkstra算法的资源。
最低0.47元/天 解锁文章

826





