diff --git a/slides/cours_14.md b/slides/cours_14.md index ceffe2c9dcd55dfdd83e99243b22ea9716910339..231421ff4113c8ee92b86b3c68769b3d8fc1744d 100644 --- a/slides/cours_14.md +++ b/slides/cours_14.md @@ -65,9 +65,10 @@ $$ ```C insert(table, key, value) { index = hash de la clé; - index = si "index" est déjà occupé dans le tableau gérer la collision; + index = si "index" est déjà occupé et la clé correspondante est pas "key" + gérer la collision; - changer l'état de la case à "index" à OCCUPIED; + changer l'état de la case à "index" à occupé; changer la valeur de la case "index" à value; } ``` @@ -79,12 +80,13 @@ insert(table, key, value) { . . . ```C -insert(table, key, value) { +value_t remove(table, key) { index = hash de la clé; - index = si "index" est déjà occupé dans le tableau gérer la collision; - - changer l'état de la case à "index" à OCCUPIED; - changer la valeur de la case "index" à value; + tant que l'état de la case est pas "vide" + si "index" est occupé et la clé est "key" + changer l'état de la case à supprimé + sinon + index = rehash } ``` @@ -95,12 +97,13 @@ insert(table, key, value) { . . . ```C -insert(table, key, value) { +bool search(table, key, value) { index = hash de la clé; - index = si "index" est déjà occupé dans le tableau gérer la collision; - - changer l'état de la case à "index" à OCCUPIED; - changer la valeur de la case "index" à value; + tant que l'état de la case est pas "vide" + si "index" est occupé et la clé est "key" + retourner vrai + sinon + index = rehash } ```