Domanda

Ho un po 'di dilemma nel tentativo di trovare un buon algoritmo per navigare nel seguente grafico.

alt text http://www.archimedesinc.biz/images/StackOverflow/Tree .jpg

Se un utente sceglie " Tabella 21 " come punto di partenza, devo essere in grado di ottenere il percorso per qualsiasi altra tabella da quella tabella iniziale.

EX: se l'utente sceglie " Tabella 21 " come inizio e quindi aggiunge un valore da " Tabella 8 " ;, devo creare il seguente percorso " Tabella 21 - > Tabella 12 - > Tabella 9 - > Tabella 6 - > Tabella 8 " ;, tutti i pesi tra le tabelle sono uguali.

Mi sembra di aver dimenticato le mie capacità nel gestire i grafici diretti e non riesco a pensare a un buon algoritmo. Non sto chiedendo una soluzione, ma solo una spinta nella giusta direzione.

Grazie!

È stato utile?

Soluzione

La prima ricerca troverà un percorso più breve: http://en.wikipedia.org / wiki / Larghezza-first_search

Altri suggerimenti

Dato che hai detto che i bordi hanno tutti lo stesso peso, L'algoritmo di Dijkstra ( la mia solita prima scelta per questo genere di cose) degraderà a breadth first search Suggerisco di usarlo per semplicità.

Puoi scegliere tra una serie di algoritmi per determinare il percorso più breve. QuickGraph è bravo in questo genere di cose.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top