Graphes/TP/TP1.md
2023-01-20 16:21:49 +01:00

1.2 KiB

#TP Graphes 1 : Codage de graphes


##Exercice 1 : Matrice d'adjacence

Un graphe sera représenté ici par une structure contenant un entier (son ordre), un entier booléen (orienté ou non), et son ensemble d'arêtes, représenté par sa matrice d'adjacence :

` struct graphe{ int ordre; // l'ordre du graphe int** adj; // la matrice d'adjacence, donnée par un double tableau dynamique int oriente; // vaut 0 si le graphe est non orienté, 1 sinon };

typedef struct graphe graphe; `

Question : Ecrire une fonction permettant de créer un graphe vide à partir de son ordre et de son orientation : graphe creergraphe(int ord,int or); La fonction devra entre autres réserver de la mémoire pour la matrice d'adjacence.

Question : Ecrire une fonction prenant un graphe et deux sommets, et ajoutant une arête entre ces deux sommets : void ajoutArete(graphe g,int v,int w){

Question : Si le graphe est non orienté, toute arête de v vers w ajoute également une arête de w vers v. Modifiez la fonction précédente pour en prendre compte.

Question : Créez dans le main le graphe des frontières de la France (on ne considérera pas les micro-états).