Genera il numero di bordi tra due nodi
-
29-10-2019 - |
Domanda
Ho generato questo albero di copertura minimo utilizzando l'algoritmo di Kruskal e ho difficoltà a generare percorsi tra due nodi.Qualcuno può aiutarmi con lo pseudocodice?Ho provato a utilizzare l'elenco delle adiacenze e la matrice adiacente
Loc1 | Loc2 | Distance
02 | 10 | 2.00 Km
05 | 07 | 5.39 Km
02 | 09 | 5.83 Km
04 | 05 | 5.83 Km
06 | 08 | 5.83 Km
03 | 09 | 7.07 Km
01 | 04 | 11.18 Km
07 | 09 | 11.18 Km
07 | 08 | 15.81 Km
Total Weight = 70.12 Km
----------------------------------------------------
Soluzione
Se vuoi solo un percorso tra due nodi, una Breadth First Search andrebbe bene, egenererebbe il percorso più breve (perché è un albero di copertura minimo).
Altri suggerimenti
Gli spanning tree, per definizione, non hanno cicli (o loop), quindi al massimo puoi avere un solo percorso (cioè non "percorsi", plurale) tra due nodi.
Forse non sto capendo la domanda.Stai cercando di scoprire come due nodi dati sono collegati nel tuo albero?
Se è così, mi suona come la forza bruta più semplice su questo, dove seguiresti da un punto lungo i suoi possibili bordi, forse spingendo e facendo scoppiare le possibilità da una pila, sarebbe il caso peggiore O (Edges)tempo di esecuzione, che sarebbe banale rispetto all'algoritmo di Kruskal. Hai bisogno di qualcosa di più veloce?