A gentle introduction to asymptotic notation, complexity theory and algorithm runtime or space complexity classification