Demystifying Big-O Notation: Algorithm Efficiency