How can I formally classify a function that increases to infinity?
Intuitively I know (I don't why I know it, maybe from school) that functions like:
$$f(n) = n^2 + n + 123 + log_2n$$ $$f(n) = n^2 + n$$ $$f(n) = 12 * n^2$$
Have quadratic class
Functions like:
$$f(n) = log_2n + 2$$ $$f(n) = 5 + log_5n + 2$$
Have logarithmic class
I did this classification because it is obvious for me that $n^2$ has higher growth rate than $n$ and $n$ has higher growth rate than $log_2n$
But do we have any common and formal way to classify a function?
Or more commonly speaking, what does exactly word class means when we talk about functions?
UPDATE: Someone suggested me that I should look at Big O notation. I don't see how it can solve my problem.
Let's say we have a function like: $$f(n) = 2^{(n + log_2n +12)} + 3^{(5n + log_2n)}$$
How Big O can help me to determine at what set (class) of functions $f(n)$ belongs to?
Moreover, we can use Big O notation only after function is been classified, not before. So I need some math framework to classify function and only then I can use Big O notation.
classmeans. And I don't think that wordclassmeans Big O Notation. – No Name QA Oct 24 '18 at 21:03