13 Maggio 2010 [Visite di Grafi: Applicazioni] Es. 1. Implementare la funzione int* get_distances(int num_of_nodes,int** graph,int source); che restituisce la distanza (numero di archi del cammino minimo) di ogni nodo del grafo dalla sorgente. Es. 2. Il diametro di un grafo G e' la massima distanza tra due nodi di G. Implementare la funzione int get_diameter(int num_of_nodes,int** graph); che restituisce il diametro del grafo in input. Es. 3. Implementare la funzione int is_acyclic(int num_of_nodes,int** graph); che restituisce 1 se il grafo in input e' aciclico, 0 altrimenti. Es. 4. Implementare la funzione int* topological_sort(int num_of_nodes,int** graph); che restituisce un array A che memorizza un ordinamento topologico del grafo. (Cosa succede se il grafo contiene un ciclo?)