Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

219
Vistas
Determinar si ciertos nodos en un gráfico están conectados directamente

¿Cómo puedo determinar si los nodos seleccionados en un gráfico están conectados directamente?

Creo que necesito calcular rutas para cada nodo seleccionado a todos los demás nodos seleccionados. Luego, cuando tengo la ruta, tengo que verificar si la ruta contiene solo los nodos seleccionados.

En el código, todo lo que tengo es una noción de nodes y edges , así:

 const nodes = [ { id: "A" }, { id: "B" }, { id: "C" }, { id: "D" }, { id: "E" }, { id: "F" }, ]; const edges = [ { target: "A", source: "B" }, { target: "B", source: "C" }, { target: "C", source: "D" }, { target: "D", source: "E" }, { target: "E", source: "F" }, ];

Ejemplos:

Buena selección:

ingrese la descripción de la imagen aquí

Mala selección:

ingrese la descripción de la imagen aquí

¿Hay algún algoritmo para verificar eso? ¿Conoce algunos paquetes npm en el caso de JavaScript?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Solución posible

  1. Transforme el gráfico dirigido actual en un gráfico no dirigido (por lo que para cada par (source, target) , (target, source) también debe agregarse a los edges ), ya que no estamos interesados en si A llega a B o B llega a A, sino estamos tratando de ver si están conectados
  2. Ejecute un algoritmo transversal de gráficos ( Primera búsqueda en profundidad (DFS) o Búsqueda en amplitud (BFS) desde cualquier nodo seleccionado en el gráfico no dirigido que acaba de crear. Si se puede llegar a todos los nodos seleccionados, devuelva true , de lo contrario, devuelva false

notas

  • No importa desde qué selected node ejecute el DFS/BFS, siempre que el gráfico no esté dirigido. Por lo tanto, es importante ejecutar DFS/BFS solo una vez para mantener la complejidad de tiempo O(1) . Ejecutar DFS/BFS desde todos los nodos seleccionados dará como resultado una complejidad de tiempo O(N) , donde N = # of nodes , y también proporcionaría un resultado correcto, pero introduciría recorridos de gráficos redundantes.
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda