semaine 4

This commit is contained in:
Luc Dartois 2024-03-18 09:50:24 +01:00
parent c16b5882d4
commit 34b9be32ff
5 changed files with 72 additions and 4 deletions

View File

@ -1,14 +1,15 @@
# Graphes (R2.07)
## Cours/TD
| Semaine | Cours | TD |
| Semaine | Cours | TD |
| -------------------- | ------------------------------------------------ | ----------------------- |
| 1 : 31/01 | [Pages 1 à 47](graphes.pdf) | [td1](./td/TD1.pdf) |
| 2 : 26/02 | [Pages 48 à 94](graphes.pdf) | [td2](./td/TD2.pdf) |
| 3 : 4/03 | [Pages 95 à 150](graphes.pdf) | [td3](./td/TD3.pdf) |
| 4 : 11/03 | [Pages 151 à 194](graphes.pdf) | [td3](./td/TD3.pdf) |
| 5 : 18/03 | [Pages 195 à 234](graphes.pdf) | [td4](./td/TD4.pdf) |
<!---
| 3 : 4/03 | [Graphes](graphes.pdf) | [td2](./td/TD2.pdf) |
| 4 : 11/03 | [Graphes](graphes.pdf) | [td3](./td/TD3.pdf) |
| 5 : 18/03 | [Graphes](graphes.pdf) | [td4](./td/TD4.pdf) |
| 6 : 25/03 | [Graphes](graphes.pdf) | [td5](./td/TD5.pdf) |
-->

67
TP/TP4.md Normal file
View File

@ -0,0 +1,67 @@
TP Graphes 4 : Plus Court Chemin et Arbre Recouvrant Minimal
============
Le TP est prévu pour être fait en utilisant le codage des graphes à l'aide de matrices d'adjacence.
Pour plus de clarté, vous pouvez utiliser une nouvelle classe, en copiant les structures et fonctions nécessaires depuis les TPs précédants.
- - - - -
Exercice 0 : Graphes valués
----------
Nous avons enrichi nos graphes avec une valuation des arêtes.
**Question :**
Comment intégrer cela à notre structure de données ?
Quel fonction(s) faut-il modifier pour prendre en compte cet enrichissement ?
**Question :**
Créez une nouvelle classe GraphesValues.java contenant la structure et les primitives nécessaires à la manipulation des graphes valués.
- - - - -
Exercice 1 : Algorithme de Dijkstra
----------
L'algorithme de Dijkstra renvoie deux données : la fonction d donnant la distance minimale entre la source et un sommet, et la fonction père donnant la direction à prendre pour atteindre cette distance minimale.
**Question :**
Une fonction des sommets vers un entier (ou un autre sommet) sera représentée par un tableau où la case i contient la valeur de la fonction pour i.
Nous souhaitons cependant renvoyer deux fonctions. Comment modéliser cela ?
**Question :**
Implémentez l'algorithme de Dijsktra, que je redonne ci-dessous :
![Algorithme de Dijkstra](dijkstra.png)
**Question :**
Testez votre algorithme en reprenant le graphes des frontières avec des valuation de votre choix.
Vérifier à la main que l'algorithme effectue les bons calculs.
- - - - -
Exercice 2 : Algorithme de Prim
----------
Pour simplifier l'implémentation, on se contentera d'afficher sur la sortie standard les arêtes sélectionnées. On renverra tout de même la valuation totale de l'arbre couvrant.
![Algorithme de Prim](prim.png)
**Question :**
Implémentez l'algorithme de Prim. Il n'y a pas besoin de modéliser l'ensemble T puisque l'on va l'afficher sur la sortie standard tout au long de l'algorithme.
**Question :**
Testez et vérifiez votre implémentation sur un exemple, au hasard le graphe des frontières.

BIN
TP/dijkstra.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

BIN
TP/prim.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

BIN
td/TD4.pdf Normal file

Binary file not shown.