init TP1
This commit is contained in:
parent
5375175eec
commit
69826beb9b
37
TP/TP1.md
Normal file
37
TP/TP1.md
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
#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).
|
Loading…
Reference in New Issue
Block a user