¿Cuál es la diferencia entre BFS y los algoritmos de Dijkstra cuando se busca el camino más corto?

Estaba leyendo sobre algoritmos Graph y me encontré con estos dos algoritmos.

¡Busqué mucho sobre esto pero no obtuve ninguna respuesta satisfactoria!

Tengo una duda de cuál es la diferencia entre el algoritmo de Dijkstra y BFS mientras busco el camino más corto.

mientras usamos BFS para encontrar la ruta más corta en un gráfico, lo que hacemos es

Descubrimos todos los vértices conectados, los agregamos en la cola y también mantenemos la distancia desde la fuente hasta ese vértice. Ahora, si encontramos un camino desde la fuente hasta ese vértice con una distancia aún menor, ¡lo actualizamos!

¡Esto es exactamente lo mismo que hacemos en el algoritmo de Dijkstra! entonces, ¿cuál es la diferencia entre Dijkstra y BFS? ¿Y entonces por qué las complejidades temporales de estos algoritmos son tan diferentes?

Si alguien puede explicarlo con la ayuda de un pseudocódigo, ¡estaré muy agradecido!

¡Sé que me estoy perdiendo algo! ¡Por favor ayuda!

Respuestas a la pregunta(2)

Su respuesta a la pregunta