El algoritmo de Dijkstra es un algoritmo para encontrar el camino más corto entre un vértice origen y los demás vértices en un grafo. Usa una estructura de cola de prioridad para seleccionar el nodo no visitado con menor distancia acumulada de forma recurrente hasta cubrir todos los nodos. Tiene una complejidad de O(v2) sin cola de prioridad y O((E+V)logV) usándola. Se usa comúnmente en rutas de enrutamiento de redes.