I'm a beginner in algorithms and trying to understand time-complexity and read online that any algorithm whose time-complexity is O(n) is the upper-bound which means there is no way that the time-taken by that particular algorithm could be expressed above O(n).
but understood that O(n) algorithms can also be called as O(n^2)(If so, then why do we call "O(n)
as the upper-bound" and also we say Big-O gives upper bound ? ). How is it possible technically ? can someone explain for the beginners.
Note: Kindly do not mark as duplicate, we are unable to understand from the mathematical relations and other examples available.
Thanks in advance.