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
----------------------------------------------------
È stato utile?

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?

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