This is known as the Big O notation, it is an expression of the asymptotic complexity of a given algorithm and in relation with some parameters.
- asymptotic means that we are not interested in the first few cases, but about the behavior of the algorithm when the size of the input parameters grow.
- the parameters depend on the algorithm to be measured
- an operation in which we are interested
For example, in the case of a binary search we express a relationship between the number of comparison performed depending on the size of the set in which we search.
The running time can usually be inferred from this, but it is not always true, especially if one didn't picked up the right "operation" with regard to the implementation or hardware constraints.
There was a nice post a few days ago speaking about sorting using a tape as storage. Because the complexities in searching express the number of comparison and using a tape as storage the runtime is mostly affected by the movement of the tape... it turned out that bubblesort would perform better than quicksort despite being described as slower in general.