An Introduction to Big O Notation