Duas partes do TCS são algoritmos e complexidade. Vou dizer de forma simplista que algoritmos é o estudo dos limites superiores, mostrando que você pode fazer algo (com recursos restritos) e a complexidade é mostrar que você não pode fazê-lo sem alguns recursos mínimos.
Com frequência, um problema algorítmico é declarado em um modelo de decisão para colocá-lo em uma classe de complexidade.
Mas algo que sempre me incomodou é que alguns algoritmos elementares nunca são mencionados diretamente como pertencentes a uma classe específica. Um exemplo é a classificação (comparação). Por mais que eu tente, uma classe relevante parece deficiente demais (na verdade, é apenas verificar no espaço de logs que o resultado está classificado? Isso parece fraco demais ou eu não estou conseguindo a versão correta da decisão).
Qual é a melhor / mais apropriada / mais útil classe de complexidade em que se encontra a classificação por comparação?
fonte
Acredito que FP é o que você está procurando.
fonte