Trova tutti i percorsi in un tipo di struttura ad albero

2

La lingua che sto usando è C #, ma cerco più aiuto con l'algoritmo più di quanto mi interessi con quale lingua. Ho cercato di sviluppare questo algoritmo per un po 'di tempo e non riesco a smuoverlo.

Ho una struttura ad albero che ha molte relazioni genitore / figlio. Quindi la foglia numero 1 può avere figli, i bambini possono avere figli, e così via e così via. Questo forma un albero. Il mio problema è che voglio essere in grado di elencare tutti i possibili percorsi lungo l'albero fino in fondo.

I miei dati sono in un elenco C # di oggetti e ogni oggetto ha 2 campi, padre e figlio.

Quindi i miei dati potrebbero essere qualcosa del genere:

Parent       Child

1              2

1              3

2              4

2              5

3              6

3              7

3              8

4              9

4              10

I miei dati reali sono più complessi di questo perché ho migliaia di righe. Nell'esempio sopra qui sono i risultati che voglio raggiungere:

1  2  4  9

1  2  4  10

1  2  4

1  2  5

1  3  6

1  3  7

Ho visto alcune altre soluzioni simili su questo sito, ma erano leggermente diverse da quelle di cui avevo bisogno. Una foglia nel mio albero può avere più di 2 bambini come mostrato sopra.

    
posta Carl 29.01.2016 - 02:11
fonte

0 risposte

Leggi altre domande sui tag