An Introduction to Algebraic Structures