Hola usuario de nuestra web, tenemos la respuesta a lo que estabas buscando, has scroll y la encontrarás un poco más abajo.
Ejemplo 1: algoritmo dijkstra c ++
#include usingnamespace std;intmain()int n =9;int mat[9][9]=100,4,100,100,100,100,100,8,100,4,100,8,100,100,100,100,11,100,100,8,100,7,100,4,100,100,2,100,100,7,100,9,14,100,100,100,100,100,100,9,100,100,100,100,100,100,100,4,14,10,100,2,100,100,100,100,100,100,100,2,100,1,6,8,11,100,100,100,100,1,100,7,100,100,2,100,100,100,6,7,100;int src =0;int count =1;int path[n];for(int i=0;i<n;i++)
path[i]= mat[src][i];int visited[n]=0;
visited[src]=1;while(count<n)int minNode;int minVal =100;for(int i=0;i<n;i++)if(visited[i]==0&& path[i]<minVal)
minVal = path[i];
minNode = i;
visited[minNode]=1;for(int i=0;i<n;i++)if(visited[i]==0)
path[i]=min(path[i],minVal+mat[minNode][i]);
count++;
path[src]=0;for(int i=0;i<n;i++)
cout<<src<<" -> "<<path[i]<<endl;return(0);
Ejemplo 2: Ruta más corta del gráfico ponderado de Dijkstra en c ++
#include #include #defineV9intminDistance(int dist[],bool sptSet[])int min = INT_MAX, min_index;for(int v =0; v < V; v++)if(sptSet[v]==false&& dist[v]<= min)
min = dist[v], min_index = v;return min_index;voidprintSolution(int dist[])printf("Vertex tt Distance from Sourcen");for(int i =0; i < V; i++)printf("%d tt %dn", i, dist[i]);voiddijkstra(int graph[V][V],int src)int dist[V];bool sptSet[V];for(int i =0; i < V; i++)
dist[i]= INT_MAX, sptSet[i]=false;
dist[src]=0;for(int count =0; count < V -1; count++)int u =minDistance(dist, sptSet);
sptSet[u]=true;for(int v =0; v < V; v++)if(!sptSet[v]&& graph[u][v]&& dist[u]!= INT_MAX
&& dist[u]+ graph[u][v]< dist[v])
dist[v]= dist[u]+ graph[u][v];printSolution(dist);intmain()int graph[V][V]=0,4,0,0,0,0,0,8,0,4,0,8,0,0,0,0,11,0,0,8,0,7,0,4,0,0,2,0,0,7,0,9,14,0,0,0,0,0,0,9,0,10,0,0,0,0,0,4,14,10,0,2,0,0,0,0,0,0,0,2,0,1,6,8,11,0,0,0,0,1,0,7,0,0,2,0,0,0,6,7,0;dijkstra(graph,0);return0;
Si eres capaz, puedes dejar un escrito acerca de qué te ha parecido este tutorial.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)