Considere as seguintes afirmações acerca de algoritmos recursivos:
I. Todo algoritmo recursivo pode ser substituído por um algoritmo iterativo.
II. Para um algoritmo cuja complexidade de tempo seja O(n), uma função recursiva equivalente que chame a si mesma apenas uma vez terá a mesma complexidade de tempo para executar as operações equivalente à função iterativa.
III. Um algoritmo recursivo consumirá mais memória que uma versão iterativa equivalente, devido à construção de uma fila de dados devido à recursão.
Estão corretas as afirmações:
As afirmações corretas são: I. Nem todo algoritmo recursivo pode ser substituído por um algoritmo iterativo. Existem problemas que são naturalmente resolvidos de forma recursiva e não há uma solução iterativa equivalente. II. Verdadeira. Uma função recursiva que chame a si mesma apenas uma vez terá a mesma complexidade de tempo que a função iterativa equivalente. III. Verdadeira. Um algoritmo recursivo pode consumir mais memória que uma versão iterativa equivalente, devido à construção de uma pilha de dados devido à recursão.
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar