This contains implementation of some common algorithms