## [Part2] Domains and Sparse Sets

##### Question 1: Time Complexity of x.fix

Let $$x$$ be a variable with a domain of size $$n$$. What is the time complexity of the method $$x$$.fix?

##### Question 2: Sparse Set

The current internal state of a sparse set identified below as set and initially containing the values {0,1,2,3,4,5,6,7,8,9} is represented here:

What is the content of indexes after the following operations on the sparse set:

set.remove(7)
set.remove(0)
set.removeAllBut(1)


0,6,2,3,4,5,7,9,8,1

##### Question 3: min() and max() Operations on Sparse Sets

Being able to retrieve the minimum and maximum value of a sparse-set domain is a very useful operation, especially for implementing bound-consistent propagators. What is the strategy followed in the default implementation of StateSparseSet.java for implementing efficiently the following operations:

min()
max()

##### Question 4: Sparse Set Backtrack

Assume the domain of a variable $$x$$ is implemented with a sparse set and contains $$n$$ values.

At some point, while exploring the search tree, assume the domain of $$x$$ becomes empty and we need to backtrack all the way up to the root node in order to visit the right child node of the root. In the worst case, what is the time complexity required to restore all the values in the domain of $$x$$? Select the most accurate answer: