Open Source Your Knowledge, Become a Contributor
Technology knowledge has to be shared and made accessible for free. Join the movement.
Mejoras
Aquí está el algoritmo de Dijkstra de nuevo:
- Marca el nodo inicial que elegiste con una distancia actual de 0 y el resto con infinito.
- Establece el nodo no visitado con la menor distancia actual como el nodo actual
A
. - Para cada vecino
V
de tu nodo actualA
: suma la distancia actual deA
con el peso de la arista que conecta aA
conV
. Si el resultado es menor que la distancia actual deV
, establécelo como la nueva distancia actual deV
. - Marca el nodo actual
A
como visitado. - Si hay nodos no visitados, ve al paso 2.
Veamos algunas mejoras pequeñas que podemos hacerle al algoritmo:
- Si sólo necesitas la ruta entre dos nodos específicos, puedes detener el algoritmo tan pronto como el segundo nodo sea marcado como visitado.
- A veces, hay varias rutas mínimas entre dos nodos (diferentes rutas con el mismo peso). Si quieres, puedes llevar la cuenta de todas esas variantes: en el paso 3, si hay un empate entre el valor calculado y la distancia actual, almacena tanto la ruta antigua como la nueva. Esto complica las cuentas, pero podría serte útil.
- Si terminas el algoritmo porque no hay más nodos no visitados pero todavía existen nodos cuya distancia mínima es todavía infinita, esos nodos no tienen ninguna ruta válida al nodo inicial.
Finalización
¡Es todo! ¡Si tienes preguntas o propuestas para mejorar este tutorial, por favor ponte en contacto!
Open Source Your Knowledge: become a Contributor and help others learn. Create New Content