Gestione alberi binari con archi pesati in C

di Anonimizzato28154 il
3 risposte
Buongiorno a tutti, per un progetto mi trovo a dover gestire degli alberi binari con pesi sugli archi in C
i'idea è questa:
gestire ogni nodo con una struttura con 2 puntatori a nodi, uno sx e uno dx
struct NodoAlbero {
  int radice; //valore etichetta nodo (arbitrario)
  struct NodoAlbero *sinistro, *destro;
};

typedef struct NodoAlbero *Albero;
il problema arriva quando penso a come "pesare" gli archi..
Io userei una matrice dei pesi di adiacenza, ma ogni volta che verrà chimata una funzione per aggiungere/togliere un nuovo nodo all'albero bisognerebbe riaggiornare la matrice, con una riga e una colonna in più, e non mi sembra una soluzione valida..

voi avete altre idee?

Grazie dell'aiuto

3 Risposte

  • Usa delle liste di adiacenza una per ogni vertice da aggiornare dinamicamente
  • In che modo?
    con le liste di adiacenza potrei rappresentare un grafo, o un albero non pesato.
    ma come faccio a tenere conto di un certo peso sull'arco?
Devi accedere o registrarti per scrivere nel forum
3 risposte