#include #include int no_arco=1048577; // peso oltre il limite che serve ad indicare che non esiste un arco typedef struct nodi{ int numero_nodo; int peso; } t_grafo; // struttura che descrive i nodi del grafo typedef struct arco{ int dx; int sx; } t_arco; // struttura che descrive gli estremi degli archi del grafo int ordina(const void *a, const void *b) // funzione che ordina in modo crescente il peso dei nodi figli { t_grafo na =*(t_grafo *)a; t_grafo nb =*(t_grafo *)b; if(na.peso>nb.peso) return 1; if(na.pesonb.numero_nodo) return 1; if(na.numero_nodoab.dx) return 1; if(aa.dxab.sx) return 1; if(aa.sx max) { tmp=max; max=min; min=tmp;} archi[num_archi].dx=min; archi[num_archi].sx=max; num_archi++; peso_tot=peso_tot+ramo[0].peso; } return; } void calcola_albero(int padre, int start) // funzione per la costruzione dell'albero { int i; int c=0; t_grafo ramo[N-start]; inserito[start-1]=1; if (start!=N){ for (i=start; i