Functors - Sometimes referred to as a function object. A functor is an object that can be executed like a function. - It can have state. 'Functors' in Java - A class may only extend one other class. * The is-a relationship also holds when a class implements an interface. + Implementing an interface requires implementing ALL its functions. To be continued... Splay Trees - If some data is accessed more than others then a splay tree may be a good choice. - Data is splayed on operations unless the data is at the root or an empty tree is being inserted to.