Per un progetto a cui sto lavorando, dovrei generare alberi spanning casuali con altezza limitata.
Fondamentalmente faccio quanto segue: 1) Genera un albero di spanning 2) Verifica la fattibilità, se fattibile tienilo.
1) Partendo da un albero di spanning minimo (di Prim o Kruskal) aggiungo un bordo inesistente e questo crea un ciclo, rilevo questo ciclo e rimuovo uno dei bordi di questo ciclo che mi dà un nuovo albero di spanning e continuo con questo spanning tree aggiungendo un nuovo bordo ...
2) Supponiamo che ci sia un vertice speciale . Per ogni vertice v , la lunghezza del percorso da v a V c e n t e r deve essere inferiore a δ , dove δ è un dato parametro.
Esiste un modo migliore (intelligente) per farlo?
PS Ho dimenticato di specificare l'altro vincolo (errore mio): anche il grado dei vertici dovrebbe essere limitato.