Saltar al contenido

Proyecto: la ruta más corta

JavaScript · Unidad 23: Estructuras de datos

Un recorrido a lo ancho llega a cada punto por el camino más corto, porque avanza por niveles. Lo que no te dice es cuál fue ese camino.

Para saberlo se anota en otro objeto quién trajo a cada punto. Con eso puedes regresar desde el destino hasta el origen.

const previo = {
  lago: "centro",
  feria: "lago",
};
let n = "feria";
while (n !== "centro") {
  console.log(n);
  n = previo[n];
}

Imprime

feria
lago

Ejercicios de esta lección

Se hacen en la app, que los corrige al momento y explica por qué.

  1. 1. Predice la salida

    previo dice quién trajo a cada colonia. ¿Qué imprime?

  2. 2. Completa el código

    Completa para anotar quién trajo a cada colonia.

  3. 3. Ordena las líneas

    Ordena armar(previo, a, b), que arma la ruta de a a b siguiendo previo desde el destino hacia atrás.

  4. 4. Escribe el código

    Escribe ruta(g, a, b): regresa la lista de colonias desde a hasta b, contando las dos, por el camino más corto. Si no hay forma de llegar, regresa un arreglo vacío. Cada colonia es una llave de g y sus vecinos vienen en orden alfabético, así que cuando dos rutas midan lo mismo te quedas con la primera que llegue: esa es la que gana en el alfabeto en el primer nombre distinto. armar ya está escrita; tú haces el recorrido y llenas previo.

Hacer esta lección

Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.

Ver todas las lecciones →