Recall the earliest finishing time algorithm from the previous example.
There is a pseudo-polynomial time algorithm using dynamic programming.
Sub-linear time algorithms arise naturally in the investigation of property testing.
For example, an exponential time algorithm can sometimes still be fast enough to make a feasible attack.
Informally, this is true because polynomial time algorithms are closed under composition.
A better exponential time algorithm is known which runs in time O(2).
It is an open problem whether there exists a polynomial time algorithm for calculating rotation distance.
Nevertheless a polynomial time algorithm is not always practical.
That leads to the exponential time algorithm to implement it.
However, non-existence of a polynomial time algorithm does not automatically ensure that the system is secure.