Algorithms can be classified by their order of growth.
- **Constant time** algorithms run is constant time.
- **Log time** algorithms run in $\log n$ or $n \log n$ or variations thereof.
- **Polynomial time** algorithms are of the form $n^c$, such as $n^2$ ([[insertion sort]]), $n^3$ (some matrix procedures), and $n^4$.
- **Polylog time** algorithms combine polynomials and log times.
- **Exponential time** algorithms are of the form $c^n$.
- More complex algorithms include $n!$ and some of the class **non-elementary algorithms**.