From 18818f34d642c44d2ed3f056e95a0915cd0dbd61 Mon Sep 17 00:00:00 2001
From: Orestis <orestis.malaspinas@pm.me>
Date: Tue, 11 Jan 2022 19:44:06 +0100
Subject: [PATCH] added exercises

---
 slides/cours_13.md       |  93 +++++++++++++++++++++++++++++++++++++++
 slides/figs/fig_hash.png | Bin 0 -> 18046 bytes
 2 files changed, 93 insertions(+)
 create mode 100644 slides/figs/fig_hash.png

diff --git a/slides/cours_13.md b/slides/cours_13.md
index 45b0982..d3d4d0c 100644
--- a/slides/cours_13.md
+++ b/slides/cours_13.md
@@ -515,8 +515,101 @@ J_3 = 109           Delta = 2
            d_3 = 7
           /        
 J_4 = 116
+--------------------------------------
 J_{i+1} = J_i + d_i,
 d_{i+1} = d_i + Delta, d_0 = 1, i > 0.
 ```
 
+# Méthode de chaînage
+
+## Comment ça marche?
+
+* Chaque index de la table contient un pointeur vers une liste chaînée
+  contenant les paires clés-valeurs.
+
+## Un petit dessin
+
+```
+
+
+
+
+
+
+
+
+
+
+
+```
+
+# Méthode de chaînage
+
+## Exemple
+
+On hash avec la fonction `h(key) = key % 11` (`key` est le numéro de la lettre
+de l'alphabet)
+
+```
+ U  | N | E | X | E | M | P | L | E | D | E | T | A | B | L | E
+ 10 | 3 | 5 | 2 | 5 | 2 | 5 | 1 | 5 | 4 | 5 | 9 | 1 | 2 | 1 | 5
+```
+
+## Comment on représente ça? (à vous)
+
+. . .
+
+![La méthode de chaînage](figs/fig_hash.png){width=80%}
+
+# Méthode de chaînage
+
+Avantages:
+
+* Si les clés sont grandes l'économie de place est importante (les places vides
+  sont `NULL`).
+* La gestion des collisions est conceptuellement simple.
+* Pas de problème de regroupement (clustering).
+
+# Exercice 1
+
+* Construire une table à partir de la liste de clés suivante:
+    ```
+    R, E, C, O, U, P, A, N, T
+    ```
+
+* On suppose que la table est initialement vide, de taille $n = 13$.
+* Utiliser la fonction $h1(k)= k \mod 13$ où k est la $k$-ème lettre de l'alphabet et un traitement séquentiel des collisions.
+
+# Exercice 2
+
+* Reprendre l'exercice 1 et utiliser la technique de double hachage pour traiter
+  les collisions avec
+
+\begin{align*}
+h_1(k)&=k\mod 13,\\
+h_2(k)=1+(k\mod 11).
+\end{align*}
+
+
+# Exercice 3
+
+* Stocker les numéros de téléphones internes d'une entreprise suivants dans un
+tableau de 10 positions.
+* Les numéros sont compris entre 100 et 299.
+* Soit $N$ le numéro de téléphone, la fonction de hachage est
+$$
+h(N)=N\mod 10.
+$$
+* La fonction de gestion des collisions est
+$$
+C_1(N,i)=(h(N)+3\cdot i)\mod 10.
+$$
+* Placer 145, 167, 110, 175, 210, 215 (mettre son état à occupé).
+* Supprimer 175 (rechercher 175, et mettre son état à supprimé).
+* Rechercher 35.
+* Les cases ni supprimées, ni occupées sont vides.
+* Expliquer se qui se passe si on utilise?
+$$
+C_1(N,i)=(h(N)+5\cdot i)\mod 10.
+$$
 
diff --git a/slides/figs/fig_hash.png b/slides/figs/fig_hash.png
new file mode 100644
index 0000000000000000000000000000000000000000..92e82b5949e733c846b92a3d6daa7601db740a4e
GIT binary patch
literal 18046
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

literal 0
HcmV?d00001

-- 
GitLab