Entende-se que a análise de algoritmos pode ser experimental e/ou teórica. Na análise experimental, o algoritmo é submetido a variados e representativos valores de entrada, monitorando a sua execução para se obter indicadores que determinam a variação do seu comportamento em função dos diferentes tipos de entrada de dados. Já a análise teórica permite que seja feita uma análise independente da implementação. Ela consiste em estimar analiticamente a quantidade de passos (e, eventualmente, quantidade de operações em cada passo) que o algoritmo deve efetuar diante de diferentes tamanhos e valores de entrada. Nesse contexto, a complexidade do algoritmo atende aos requisitos, EXCETO: