Skip to content
Snippets Groups Projects
Commit 471f0334 authored by paul.albuquer's avatar paul.albuquer
Browse files

Corrected typos

Rephrased few things in the hash part
parent 04dffc8b
No related branches found
No related tags found
No related merge requests found
Pipeline #38083 passed
...@@ -14,7 +14,7 @@ date: "2025-02-28" ...@@ -14,7 +14,7 @@ date: "2025-02-28"
. . . . . .
* Insetion, consultation, suppression. * Insertion, consultation, suppression.
```C ```C
void insert(table, key, value) void insert(table, key, value)
...@@ -37,13 +37,12 @@ date: "2025-02-28" ...@@ -37,13 +37,12 @@ date: "2025-02-28"
h_1(k)&=k\mod 13,\\ h_1(k)&=k\mod 13,\\
h_2(k)&=1+(k\mod 11). h_2(k)&=1+(k\mod 11).
\end{align*} \end{align*}
* La fonction de hachage est donc $h(k)=(h(k)+h_2(k)) \% 13$ en cas de * En cas de collision, on fait un saut de $h_2(k)$, c.-à-d. $$index = (index + h_2(k)) \mod 13.$$
collision.
# Exercice 3 # 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. tableau de 10 positions.
* Les numéros sont compris entre 100 et 299. * Les numéros sont compris entre 100 et 299.
* Soit $N$ le numéro de téléphone, la fonction de hachage est * Soit $N$ le numéro de téléphone, la fonction de hachage est
...@@ -52,8 +51,9 @@ h(N)=N\mod 10. ...@@ -52,8 +51,9 @@ h(N)=N\mod 10.
$$ $$
* La fonction de gestion des collisions est * 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é). * Placer 145, 167, 110, 175, 210, 215 (mettre son état à occupé).
* Supprimer 175 (rechercher 175, et mettre son état à supprimé). * Supprimer 175 (rechercher 175, et mettre son état à supprimé).
* Rechercher 35. * Rechercher 35.
...@@ -67,7 +67,7 @@ $$ ...@@ -67,7 +67,7 @@ $$
\small \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 * L'insertion est construite avec une forme du type
```C ```C
...@@ -97,7 +97,8 @@ $$ ...@@ -97,7 +97,8 @@ $$
rien insertion(table, clé, valeur) { rien insertion(table, clé, valeur) {
index = hash(clé) index = hash(clé)
index = 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é) index = rehash(clé)
état(table[index]) = occupé état(table[index]) = occupé
...@@ -115,7 +116,8 @@ rien insertion(table, clé, valeur) { ...@@ -115,7 +116,8 @@ rien insertion(table, clé, valeur) {
valeur suppression(table, clé): valeur suppression(table, clé):
index = hash(clé) index = hash(clé)
tant que état(table[index]) != vide: 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é état(table[index]) = supprimé
sinon sinon
index = rehash(clé) index = rehash(clé)
...@@ -132,7 +134,8 @@ valeur suppression(table, clé): ...@@ -132,7 +134,8 @@ valeur suppression(table, clé):
booléen recherche(table, clé) { booléen recherche(table, clé) {
index = hash(clé) index = hash(clé)
tant que état(table[index]) != vide: 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 retourner vrai
sinon sinon
index = rehash index = rehash
......
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