http://stackoverflow.com/questions/487258/plain-english-explanation-of-big-o/…