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

Merge branch 'master' into 'master'

Add CMake support

See merge request !2
parents 3d6e3fb2 9c2ad4a4
Branches master
No related tags found
1 merge request!2Add CMake support
# Project Global Configuration
cmake_minimum_required(VERSION 3.26)
project(UnionFind)
#Default to debug
if (NOT EXISTS ${CMAKE_BINARY_DIR}/CMakeCache.txt)
if (NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "" FORCE)
endif()
endif()
# Compiler options
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_FLAGS_DEBUG "-ggdb -O0")
set(CMAKE_CXX_FLAGS_RELEASE "-O2")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wpedantic")
# Set sources and includes
set(SOURCES
src/labyrinthe.hpp
src/labyrinthe.cpp
)
# Create the executable
add_executable(test_labyrinthe src/test_labyrinthe.cpp ${SOURCES})
File moved
File moved
File moved
File moved
File moved
File moved
File moved
File moved
...@@ -30,7 +30,7 @@ il est peu probable que l'entrée et la sortie du labyrinthe soient accessibles ...@@ -30,7 +30,7 @@ il est peu probable que l'entrée et la sortie du labyrinthe soient accessibles
par un chemin. Ensuite ce procédé va vider le labyrinthe de ses murs sans créer par un chemin. Ensuite ce procédé va vider le labyrinthe de ses murs sans créer
les recoins tortueux qui rendent les labyrinthes intéressants. les recoins tortueux qui rendent les labyrinthes intéressants.
![labyrinthe naïf](Images/naive_maze.png) ![labyrinthe naïf](images/naive_maze.png)
Pour obtenir un résultat plus intéressant, nous allons donc rajouter les deux Pour obtenir un résultat plus intéressant, nous allons donc rajouter les deux
contraintes suivantes : contraintes suivantes :
...@@ -40,7 +40,7 @@ contraintes suivantes : ...@@ -40,7 +40,7 @@ contraintes suivantes :
Les labyrinthes ainsi obtenus deviennent plus intéressants. Les labyrinthes ainsi obtenus deviennent plus intéressants.
![labyrinthe intéressant](Images/clever_maze.png) ![labyrinthe intéressant](images/clever_maze.png)
C'est pour mettre en place ces contraintes que l'Union-Find devient utile. C'est pour mettre en place ces contraintes que l'Union-Find devient utile.
...@@ -81,7 +81,7 @@ parent de la racine de l'arbre est lui-même. Chaque arbre correspond à un ...@@ -81,7 +81,7 @@ parent de la racine de l'arbre est lui-même. Chaque arbre correspond à un
ensemble disjoint. Initialement, chaque élément est donc la racine de son propre ensemble disjoint. Initialement, chaque élément est donc la racine de son propre
arbre, qui ne contient que lui. 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.
...@@ -111,7 +111,7 @@ parent de l'une des deux racines devienne l'autre racine. ...@@ -111,7 +111,7 @@ parent de l'une des deux racines devienne l'autre racine.
Dans l'exemple précédent la fusion des deux premiers arbres donnerait donc l'un Dans l'exemple précédent la fusion des deux premiers arbres donnerait donc l'un
des deux arbres suivants des deux arbres suivants
![exemple de fusion](Images/uf_fusion.png) ![exemple de fusion](images/uf_fusion.png)
Ce qui revient à renseigner 4 comme parent de 1 Ce qui revient à renseigner 4 comme parent de 1
...@@ -175,7 +175,7 @@ facile dans le cadre d'une implémentation récursive de la recherche de racine. ...@@ -175,7 +175,7 @@ facile dans le cadre d'une implémentation récursive de la recherche de racine.
Dans l'image ci-dessous, une recherche de racine sur le noeud 5 va modifier les Dans l'image ci-dessous, une recherche de racine sur le noeud 5 va modifier les
parents de 5 et 4 pour qu'ils se placent directement sous 1. parents de 5 et 4 pour qu'ils se placent directement sous 1.
![exemple compression de chemin](Images/uf_compression.png) ![exemple compression de chemin](images/uf_compression.png)
#### Minimisation des hauteurs #### Minimisation des hauteurs
......
File moved
File moved
File moved
File moved
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