Pregunta

Tengo un poco de diligencia al tratar de encontrar un buen algoritmo para navegar por el siguiente gráfico.

texto alternativo http://www.archimedesinc.biz/images/StackOverflow/Tree .jpg

Si un usuario elige " Tabla 21 " como punto de partida, necesito poder obtener la ruta a cualquier otra tabla desde esa tabla de inicio.

EX: si el usuario elige " Tabla 21 " como inicio y luego agrega un valor de " Tabla 8 " ;, Necesito crear la siguiente ruta " Tabla 21 - > Tabla 12 - > Tabla 9 - > Tabla 6 - > Tabla 8 " ;, todas las ponderaciones entre las tablas son iguales.

Parece que he olvidado mis habilidades al tratar con gráficos dirigidos, y no puedo pensar en un buen algoritmo. No estoy pidiendo una solución, sino un impulso en la dirección correcta.

¡Gracias!

¿Fue útil?

Solución

La búsqueda en primer lugar encontrará una ruta más corta: http://en.wikipedia.org / wiki / Breadth-first_search

Otros consejos

Como dijo que los bordes tienen el mismo peso, algoritmo de Dijkstra ( mi primera opción habitual para este tipo de cosas) solo se degradará a amplia primera búsqueda así que Sugiero usar eso por simplicidad.

Puede elegir entre una serie de algoritmos para determinar la ruta más corta. QuickGraph es bueno en este tipo de cosas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top