Autor
|
Tema: Algoritmo de Dijkstra paso a paso (Leído 35,061 veces)
|
vk496
Desconectado
Mensajes: 205
|
Si te interesan los grafos y calculo de distancias minimas, tambien le puedes echar un vistazo al Algoritmo de Floyd, tienes que ir calculando matrices bidimensionales como vertices tiene el grafo
Con Dijkstra solo calculas la distancia minima desde un vertice inicial al resto, en cambio con Floyd puedes calcular la distancia minima entre cualquier vertice
Por poner un ejemplo, si quieres saber la distancia minima de B a C y F, aplicas Dijkstra, pero ahora quieres saber tambien de D a E y F, tienes que volver a aplicar el algoritmo. En cambio aplicando una unica vez Floyd sacas todas las distancias minimas entre todos los vertices
Un saludo Esto si que es útil! Voy a investigar sobre ello... No llegué a darlo en Matemáticas Salu2
|
|
|
En línea
|
|
|
|
Yoel Alejandro
|
Entiendo el planteamiento al respecto del algoritmo de Floyd, investigaré y posiblemente publique un post al respecto.
Por los momentos estoy terminando algunos detalles que faltaban al programa inicial, pues sabes, un trabajo no está completo hasta que está completo, jejeje
Y sobre todo ayudar a un par de lectores que tenían dudas de este tema en particular, espero que este aporte les disipe al respecto.
|
|
|
En línea
|
Saludos, Yoel. P.D..- Para mayores dudas, puedes enviarme un mensaje personal (M.P.)
|
|
|
marrison
Desconectado
Mensajes: 179
|
Muchisimas gracias, de verdad
|
|
|
En línea
|
"Es genial trabajar con ordenadores. No discuten, lo recuerdan todo y no se beben tu cerveza" (Paul Leary)
"Controlar la complejidad es la esencia de la programación" (Brian Kernigan)
"Primero resuelve el problema. Entonces, escribe el código" (John Johnson)
"640K deberían ser suficientes para todo el mundo" (Bill Gates, 1981)
|
|
|
elProfeta1979
Desconectado
Mensajes: 9
|
#define INFINITO 1.0E+30 #define NODOS 5 #define MIEMBRO 1 #define NO_MIEMBRO 0 void short_path(int matriz[][NODOS], int s, int t, int *pd, int precede[]){ int distancia[NODOS]; int perm[NODOS]; int corriente, i, k , dc, menor_dist, nueva_dist; for(i = 0; i < NODOS; i++){ perm[i] = NO_MIEMBRO; distancia[i] = INFINITO; } perm[s] = MIEMBRO; distancia[s] = 0; corriente = s; while(corriente != t){ menor_dist = INFINITO; dc = distancia[corriente]; for(i = 0; i < NODOS; i++){ nueva_dist = dc + matriz[corriente][i]; if(nueva_dist < distancia[i]){ distancia[i] = nueva_dist; precede[i] = corriente; } if(distancia[i] < menor_dist){ menor_dist = distancia[i]; k=i; } }//fin de for corriente = k; perm[corriente]= MIEMBRO; }//fin de while *pd = distancia[i]; }
bueno gente aporto este código, si alguien comenta.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Manual para Usar el maravilloso Bittorrent (Paso a Paso)
« 1 2 ... 6 7 »
Software
|
MãLÐiNi
|
69
|
348,014
|
6 Febrero 2014, 00:10 am
por MãLÐiNi
|
|
|
Tutorial paso a paso Enlazar bases de datos SQL con VB.Net 2008 Desde cero
.NET (C#, VB.NET, ASP)
|
Atrum
|
1
|
11,737
|
13 Octubre 2009, 15:15 pm
por Hadess_inf
|
|
|
Desmontando paso a paso la Ley Sinde (artículo de Antonio Delgado)
Foro Libre
|
T0rete
|
4
|
3,714
|
22 Diciembre 2010, 01:49 am
por buite
|
|
|
Tutorial paso a paso sobre Jailbreak Untethered para iPhone 4 y iPad con iOS 5.0
Noticias
|
wolfbcn
|
0
|
3,292
|
30 Diciembre 2011, 14:00 pm
por wolfbcn
|
|
|
Algoritmo DES (Data Encryption Standard) explicado paso a paso.
Criptografía
|
@XSStringManolo
|
0
|
3,864
|
6 Febrero 2022, 09:30 am
por @XSStringManolo
|
|