Saltar al contenido

Grafos

JavaScript · Unidad 23: Estructuras de datos

Un grafo no guarda una fila de datos: guarda quién está conectado con quién. Amistades, calles entre colonias, paradas de camión.

La forma más común es un objeto: cada llave es un punto y su valor es el arreglo de sus vecinos.

const g = {
  ana: ["luis", "sofia"],
  luis: ["ana"],
  sofia: ["ana"],
};
console.log(g.ana);
console.log(g.ana.length);

Imprime

[ 'luis', 'sofia' ]
2

El resto de la explicación está en la lección, que es del plan completo.

Ejercicios de esta lección

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

  1. 1. Predice la salida

    ¿Qué imprime este código?

  2. 2. Completa el código

    Completa para preguntar si luis es vecino de ana.

  3. 3. Predice la salida

    ¿Qué imprime este código?

  4. 4. Opción múltiple

    ¿Qué es cierto en este grafo?

  5. 5. Ordena las líneas

    Ordena vecinos(g, a, b), que dice si de a sale una conexión a b, y da false si a ni siquiera está en el grafo.

  6. 6. Predice la salida

    Este grafo no tiene caminos de regreso, así que no hace falta el Set. ¿En qué orden imprime?

  7. 7. Completa el código

    Completa para no visitar dos veces a la misma persona.

  8. 8. Encuentra el bug

    Debería recorrer a lo ancho: primero a, luego sus dos vecinos b y c, y hasta el final d. ¿Qué línea tiene el error?

  9. 9. Encuentra el caso que falla

    cuantos(p) regresa cuántos vecinos tiene esa persona, o 0 si no está en el grafo. ¿Con qué llamada falla?

  10. 10. Predice la salida

    El recorrido empieza en ana y vistos guarda a quién alcanzó. ¿Qué imprime?

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 →