1. Write an algorithm to implement the transpose self-organizing list heuristic, assuming that the list is implemented using an array. In particular, write a function transpose that takes as input a value to be searched for and which adjusts the list appropriately. If the value is not already in the list, add it to the end of the list.
2. Write functions for computing union, intersection, and set difference on arbitrarily long bit vectors used to represent set membership as described in Section 9.3. Assume that for each operation both vectors are of equal length.