Questões de Recursividade (Algoritmos e Estrutura de Dados)

Limpar Busca

Diversas operações matemáticas podem ser implementadas de forma recursiva, como no algoritmo seguinte.

Função X (J: inteiro, K: inteiro)
Início
Se J < K Então
Retorne J
Senão
Retorne X (J-K, K)
Fim


Considerando o domínio dos inteiros positivos, a função terá como resultado o(a):

  • A adição entre J e K;
  • B multiplicação de J por K;
  • C resto da divisão de J por K;
  • D subtração entre J e K;
  • E elevação de J à potência K.

Acerca de estrutura de dados e algoritmos, julgue o item a seguir.


O seguinte pseudocódigo possui complexidade de tempo de pior caso O(2") para a verificação da existência de um elemento na lista.


função                       BuscaRecursiva(lista,                        tamanho,

elemento)

  se tamanho < 1 então

  retorna FALSO 

  se lista[tamanho] == elemento então

  retorna VERDADEIRO

  senão

  BuscaRecursiva(lista, tamanho-1, elemento)

fim função

  • Certo
  • Errado
Quanto a Recursividade é INCORRETO afirmar: 
  • A A recursão é uma técnica que define um problema em termos de uma ou mais versões menores deste mesmo problema.
  • B Esta ferramenta pode ser utilizada sempre que for possível expressar a solução de um problema em função do próprio problema.
  • C Para se codificar programas de modo recursivo usa-se um procedimento ou sub-rotina, que permite dar um nome a um comando, o qual pode chamar a si próprio. Esta chamada pode ser diretamente recursiva, quando o procedimento P contiver uma referência explícita a si próprio, ou indiretamente recursiva, quando o procedimento P contiver uma referência a outro procedimento Q, que por sua vez contém uma referência direta ou indireta a P.
  • D Em se tratando de procedimentos recursivos pode-se ocorrer um problema de terminação do programa, como um “looping interminável ou infinito”.
  • E Um programa recursivo é mais elegante e menor que a sua versão iterativa, além de exibir com maior clareza o processo utilizado, desde que o problema ou os dados sejam naturalmente definidos através de recorrência. Além de exigir um menor espaço de memória e é, na grande maioria dos casos, mais rápido do que a versão iterativa.

Considere a seguinte função recursiva. 


Imagem relacionada à questão do Questões Estratégicas


Qual o valor retornado pela função acima, quando recebe como parâmetro o número 5?

  • A 101
  • B 111
  • C 100
  • D 010
  • E 011 

Julgue o item subsequente, a respeito de algoritmos para ordenação e pesquisa e de programação recursiva. 


Uma função é dita recursiva quando, dentro dela, é feita uma ou mais chamada a ela mesma. 

  • Certo
  • Errado