Skip to content
Snippets Groups Projects
Commit a672cd99 authored by NIVOLIERS VINCENT's avatar NIVOLIERS VINCENT
Browse files

fix math gitlab

parent c185b516
No related branches found
No related tags found
No related merge requests found
...@@ -51,16 +51,16 @@ chemin pour aller de l'une à l'autre dans le labyrinthe. Initialement, toutes ...@@ -51,16 +51,16 @@ chemin pour aller de l'une à l'autre dans le labyrinthe. Initialement, toutes
les cases sont entourées de murs, et donc chaque case est dans son propre les cases sont entourées de murs, et donc chaque case est dans son propre
ensemble qui ne contient qu'elle. ensemble qui ne contient qu'elle.
Abattre le mur entre les cases $a$ et $b$ permet de créer un chemin entre ces Abattre le mur entre les cases $`a`$ et $`b`$ permet de créer un chemin entre ces
deux cases. Ainsi, pour s'assurer de ne jamais créer plus d'un chemin pour deux cases. Ainsi, pour s'assurer de ne jamais créer plus d'un chemin pour
aller d'une case à une autre, il suffit de ne jamais abattre de mur séparant des aller d'une case à une autre, il suffit de ne jamais abattre de mur séparant des
cases qui sont déjà reliées par un chemin. On utilisera donc la *recherche* pour cases qui sont déjà reliées par un chemin. On utilisera donc la *recherche* pour
déterminer si deux cases sont reliées par un chemin ou non. déterminer si deux cases sont reliées par un chemin ou non.
En créant un chemin entre la case $a$ et la case $b$, on crée en réalité des En créant un chemin entre la case $`a`$ et la case $`b`$, on crée en réalité des
chemins entre toutes les cases qu'on pouvait atteindre depuis $a$ et toutes les chemins entre toutes les cases qu'on pouvait atteindre depuis $`a`$ et toutes les
cases qu'on pouvait atteindre depuis $b$. On réalise donc l'*union* de cases qu'on pouvait atteindre depuis $`b`$. On réalise donc l'*union* de
l'ensemble contenant $a$ et de l'ensemble contenant $b$. l'ensemble contenant $`a`$ et de l'ensemble contenant $`b`$.
## Implémentation ## Implémentation
...@@ -83,12 +83,12 @@ arbre, qui ne contient que lui. ...@@ -83,12 +83,12 @@ arbre, qui ne contient que lui.
![exemple union find](Images/uf_example.png) ![exemple union find](Images/uf_example.png)
Dans l'exemple ci dessus, l'Union-Find contient 4 ensembles, $0$ est l'enfant de Dans l'exemple ci dessus, l'Union-Find contient 4 ensembles, $`0`$ est l'enfant de
$1$, $1$ est la racine de son arbre. $`1`$, $`1`$ est la racine de son arbre.
Du point de vue de l'implémentation, le plus simple est d'identifier les $n$ Du point de vue de l'implémentation, le plus simple est d'identifier les $`n`$
objets par les entiers de $[0,n-1]$. Un tableau `tab` d'entiers de taille $n$ objets par les entiers de $`[0,n-1]`$. Un tableau `tab` d'entiers de taille $`n`$
permet de stocker dans la case $i$ le numéro du parent de la case $i$. Dans permet de stocker dans la case $`i`$ le numéro du parent de la case $`i`$. Dans
l'exemple précédent, nous aurions donc le tableau l'exemple précédent, nous aurions donc le tableau
``` ```
...@@ -151,8 +151,8 @@ possible d'abattre le moindre mur, et le labyrinthe respecte les contraintes. ...@@ -151,8 +151,8 @@ possible d'abattre le moindre mur, et le labyrinthe respecte les contraintes.
#### Utilisation de l'Union-Find #### Utilisation de l'Union-Find
Pour utiliser votre Union-Find, vous pouvez numéroter implicitement toutes les Pour utiliser votre Union-Find, vous pouvez numéroter implicitement toutes les
cases de la grille en disant que la case à la ligne $l$ et la colonne $c$ est cases de la grille en disant que la case à la ligne $`l`$ et la colonne $`c`$ est
associée au numéro $l \times \mathrm{largeur} + c$. associée au numéro $`l \times \mathrm{largeur} + c`$.
À chaque mur traité, récupérez les racines des arbres Union-Find des cases de À chaque mur traité, récupérez les racines des arbres Union-Find des cases de
part et d'autre. Si les racines sont les mêmes, les cases sont déjà reliées par part et d'autre. Si les racines sont les mêmes, les cases sont déjà reliées par
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment