From 471f03344387f07fdc36fedc6a07aa09ac2f2a97 Mon Sep 17 00:00:00 2001 From: "paul.albuquer" <paul.albuquerque@hesge.ch> Date: Thu, 27 Feb 2025 20:52:14 +0100 Subject: [PATCH] Corrected typos Rephrased few things in the hash part --- slides/cours_15.md | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/slides/cours_15.md b/slides/cours_15.md index bfd39d7..ce8bac2 100644 --- a/slides/cours_15.md +++ b/slides/cours_15.md @@ -14,7 +14,7 @@ date: "2025-02-28" . . . -* Insetion, consultation, suppression. +* Insertion, consultation, suppression. ```C void insert(table, key, value) @@ -37,13 +37,12 @@ date: "2025-02-28" h_1(k)&=k\mod 13,\\ h_2(k)&=1+(k\mod 11). \end{align*} -* La fonction de hachage est donc $h(k)=(h(k)+h_2(k)) \% 13$ en cas de - collision. +* En cas de collision, on fait un saut de $h_2(k)$, c.-à -d. $$index = (index + h_2(k)) \mod 13.$$ # Exercice 3 -* Stocker les numéros de téléphones internes d'une entreprise suivants dans un +* Stocker les numéros de téléphones internes d'une entreprise 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 @@ -52,8 +51,9 @@ h(N)=N\mod 10. $$ * La fonction de gestion des collisions est $$ -C_1(N,i)=(h(N)+3\cdot i)\mod 10. +C_1(N,i)=(h(N)+3\cdot i)\mod 10 $$ +où $i$ compte les collisions. * Placer 145, 167, 110, 175, 210, 215 (mettre son état à occupé). * Supprimer 175 (rechercher 175, et mettre son état à supprimé). * Rechercher 35. @@ -67,7 +67,7 @@ $$ \small -* On considère pas le cas du chaînage en cas de collisions. +* Ici, on ne considère pas le cas du chaînage en cas de collisions. * L'insertion est construite avec une forme du type ```C @@ -97,7 +97,8 @@ $$ rien insertion(table, clé, valeur) { index = hash(clé) index = - tant que état(table[index]) == occupé et clé(table[index]) != clé: + tant que état(table[index]) == occupé + et clé(table[index]) != clé: index = rehash(clé) état(table[index]) = occupé @@ -115,7 +116,8 @@ rien insertion(table, clé, valeur) { valeur suppression(table, clé): index = hash(clé) tant que état(table[index]) != vide: - si état(table[index]) == occupé et clé(table[index]) == clé: + si état(table[index]) == occupé + et clé(table[index]) == clé: état(table[index]) = supprimé sinon index = rehash(clé) @@ -132,7 +134,8 @@ valeur suppression(table, clé): booléen recherche(table, clé) { index = hash(clé) tant que état(table[index]) != vide: - si état(table[index]) == occupé et clé(table[index]) == clé: + si état(table[index]) == occupé + et clé(table[index]) == clé: retourner vrai sinon index = rehash -- GitLab