Exercice 1
Question 1
Voir l’implémentation fournie dans la classe OptimistSet
Question 2
Les points de linéarisation pour cette implémentation sont les suivants :
-
add(Integer item) : Le point de linéarisation est le moment où le nouveau nœud est inséré dans la liste (pred.next = node).
-
remove(Integer item) : Le point de linéarisation est le moment où le nœud est retiré de la liste (pred.next = curr.next).
-
contains(Integer item) : Le point de linéarisation est le moment où la clé est comparée avec la clé du nœud courant (return curr.key == key).
Question 3
Voir l’implémentation fournie dans la classe Main