Hay un gráfico no dirigido en el que a cada nodo se le asigna un color. Tengo que encontrar el camino más corto desde cualquier nodo de color azul a cualquier nodo de color rojo. (Otros colores también pueden existir en el gráfico y aunque no importa, pero no se sabe cuántos colores hay). ¿Cómo puedo hacerlo en tiempo polinomial?Encontrar la ruta más corta entre dos nodos pertenecientes a dos subconjuntos disjuntos de un gráfico
Respuesta
Como sugerencia, agregue dos nuevos nodos al gráfico; llámelos s y t. Conéctese a cada nodo azul con un borde de costo 0 y cada nodo rojo a t con un borde de costo 0. Luego, encuentre la ruta más corta desde s hasta t.
Espero que esto ayude!
gracias, esta es de hecho la solución. – anirudh
Polinomio tanto para agregar los nodos syt como para encontrar la ruta más corta entre ellos (por ejemplo, con Dijkstra), por lo que es polinomial. – pvoosten
@lbp Hay muchas maneras fáciles de resolverlo en tiempo polinomial, puedes hacer Floyd-Warshall y encontrar el par (azul, rojo) con una distancia mínima. Podrías hacer Dijkstra | red | * | azul | veces, muy ineficientemente, y aún ser polinomio. Pero esta respuesta da una manera eficiente, no solo polinomial. – sdcvvc
- 1. Ruta entre dos nodos
- 2. ¿Cómo encontrar la ruta más larga en un gráfico cíclico entre dos nodos?
- 3. Encontrar la ruta más corta entre dos puntos en una cuadrícula, usando Haskell
- 4. ¿Qué algoritmo puedo usar para encontrar la ruta más corta entre tipos de nodos especificados en un gráfico?
- 5. la distancia más corta entre dos puntos (conjunto disjunto)
- 6. ¿Cuál es el camino más rápido para encontrar la distancia más corta entre dos cartesiano polígonos
- 7. Encontrar la ruta globalmente más corta en trapezoides no degeneradas
- 8. Encontrar la ruta más corta usando el algoritmo de Dijkstra
- 9. Ruta más corta (menos nodos) para gráficos no ponderados
- 10. Networkx - Longitud de ruta más corta
- 11. Búsqueda eficiente de la ruta más corta en gráficos grandes
- 12. Algoritmo para encontrar la ruta más corta, con obstáculos
- 13. diferencia mínima entre la suma de dos subconjuntos
- 14. ¿Cuáles son las aplicaciones del algoritmo de ruta más corta?
- 15. ¿Cómo encontrar el camino más largo entre dos nodos en Lisp?
- 16. eclipse encontrar posible ruta de código entre dos funciones
- 17. Ruta más corta de una vía a través de múltiples nodos
- 18. Buscando un algoritmo rápido para encontrar la distancia entre dos nodos en el árbol binario
- 19. Número de rutas entre dos nodos en un DAG
- 20. Cálculo de la distancia más corta entre dos líneas (segmentos de línea) en 3D
- 21. Seleccionar hermanos entre dos nodos usando XPath
- 22. Python: ¿Cómo encontrar si existe una ruta entre 2 nodos en un gráfico?
- 23. Encontrar la intersección entre dos columnas
- 24. Uso BeautifulSoup para extraer nodos hermanos entre dos nodos
- 25. Ruta más corta en ausencia del borde dado
- 26. Algoritmo: ruta más corta entre todos los puntos
- 27. ¿Cómo encontrar la diferencia entre dos cadenas?
- 28. cómo encontrar la distancia entre dos geopoints?
- 29. Encontrar la distancia entre dos círculos
- 30. encontrar la diferencia entre dos diccionarios
Estoy seguro de que el algoritmo de Dijkstra se puede usar de alguna forma para resolver esto, pero no he podido averiguar cómo. – anirudh