log log it is clear from these plots why the non-principal growth terms can be safely ignored when computing algorithm complexity formal definition of complexity classes we have noted that complexity classes are concerned with growthand the tables and graph above have provided an idea of what different behaviours mean when it comes to growth there we have chosen representative for each of the complexity classes consideredbut we have not said anything about just how 'representativesuch an element is let us now consider more formal definition of 'big oclassdefinition function belongs to the complexity class ( if there is number and constant such that for all > we have that ( < (nwe say that the function is 'eventually smallerthan the function it is not totally obvious what this implies firstwe do not need to know exactly when becomes smaller than we are only interested in the existence of such thatfrom then ong is smaller than secondwe wish to consider the efficiency of an algorithm independently of the speed of the computer that is going to execute it this is why is multiplied by constant the idea is that when we measure the time of the steps of particular algorithmwe are not sure how long each of them takes by definitiong ( means that eventually (namely beyond the point )the growth of will be at most as much as the growth of this definition also makes it clear that constant factors do not change the growth class (or -classof function hence (nn is in the same growth class as ( / or ( so we can write ( ( ( / typicallyhoweverwe choose the simplest representativeas we did in the tables above in this case it is (