El problema en sí no está formulado claramente. ¿Qué tipo de gráfico? ¿Es un gráfico dirigido simple (dígrafo)? Multigrafo dirigido? ¿Qué tipo de “dirección”? Eso podría significar otra noción como bidireccionada (donde los bordes tienen direcciones en ambos lados de los bordes), que es mucho más complicado. Defina a qué se refiere como “portada”.
Sugiero averiguar qué términos desde un punto de vista teórico de grafos se formula el problema. Dependiendo de eso, marcará una diferencia en la dificultad para adaptar este problema a una solución (en muchos casos no será algo en tiempo polinómico ya que en la mayoría de estos casos el número de caminos puede ser exponencial (como encontrar el más largo ruta o incluso una ruta hamiltoniana es NP-hard para la mayoría de las clases de gráficos)). Le será más fácil encontrar una respuesta ya que el problema que ha descrito está incompleto. Por ejemplo, si su gráfico es un gráfico acíclico dirigido, este problema es más fácil de implementar para una solución (ver Gráficos dirigidos).
Le remitiré a esta respuesta en StackExchange, ya que puede darle algunas ideas: Encuentre todas las rutas entre dos nodos gráficos
- ¿Qué es el algoritmo k-Nearest Neighbour? ¿Qué tipo de problemas puede resolver este algoritmo? ¿Qué tipo de matemática se requiere?
- ¿Cuáles son los temas de doctorado en estructuras de datos y análisis?
- ¿Cuál es el mejor algoritmo para elegir para la tarea de aprendizaje automático de agrupar una base de datos de listados de casas con sus propiedades (algunos de los cuales son binarios y otros son numéricos y preferiblemente con la primera imagen)?
- ¿El operador 'in' mientras busca claves en Python Dictionary toma O (1)? Si es así, ¿cómo?
- ¿Cómo se usaron los algoritmos cuando no había computadoras?
¡Espero que esto ayude!