Questões de Concurso
Comentadas sobre recursividade em algoritmos e estrutura de dados
Foram encontradas 42 questões
A técnica de otimização mais adequada para reduzir drasticamente o tempo de execução, sem alterar a natureza recursiva do algoritmo é
I. Algoritmos recursivos são aqueles que se definem em termos de si mesmos, exigindo uma condição base para evitar chamadas infinitas.
II. A complexidade de tempo de um algoritmo refere-se exclusivamente ao número de passos necessários para executar o código, desconsiderando a entrada do problema.
III. Um algoritmo pode ser implementado em diferentes linguagens de programação, desde que sua lógica seja preservada.
Está correto o que se afirma em:
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):
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
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.
A respeito de um algoritmo recursivo, analise as afirmativas abaixo e assinale a alternativa correta.
I. Deve conter pelo menos uma estrutura de repetição.
II. Deve conter pelo menos uma estrutura de seleção.
III. Deve invocar a si mesmo pelo menos uma vez ao ser executado.
Considere a equação de recorrência abaixo.
T(n) = 0 para n = 1.
T(n) = 2T(n/2) + n – 1 para n > 1.
Após a resolução, a solução encontrada é
Considere a função recursiva ‘func’ definida por
func(1) = 1
func(n) = (n - 1) * func(n - 1)
Quais são os valores de func(4) e func(5), respectivamente?
Assinale a alternativa que define corretamente a técnica de função fatorial empregada no pseudocódigo a seguir.
1. funcao fatorial(n)
2. se n=1 então
3. fatorial = 1
4. senao
5. fatorial = n * fatorial(n-1)
6. fim funcao
Analise as afirmativas a seguir a respeito de algoritmos recursivos.
I. Diz-se que uma rotina é recursiva se a sua definição envolver uma chamada a ela mesma. Neste sentido, o termo recursão é equivalente ao termo indução utilizado por matemáticos.
II. Cada algoritmo recursivo possui um algoritmo iterativo equivalente e vice-versa, mas que pode ter mais ou menos complexidade em sua construção.
III. Uma função recursiva possui duas partes: caso base e caso recursivo.
IV. Um algoritmo pode ser chamado de iterativo quando ele requer a repetição implícita de um processo até que determinada condição seja satisfeita.
V. A recursividade possibilita a escrita de um código mais enxuto, com maior legibilidade e simplicidade.
Assinale a alternativa que possui alguma afirmação INCORRETA.
Com relação às estruturas de controle em programas de computador, julgue o item subsecutivo.
A chamada de uma função para execução é feita citando-se o
seu identificador no meio de uma expressão. Uma função é dita
recursiva quando chama ela própria.
Sobre o conceito de Algoritmos Recursivos, analise as afirmações abaixo e, a seguir, assinale a alternativa correta.
I. Um programa tem um número limitado de procedimentos recursivos.
II. Recursividade é utilizada exclusivamente quando não se sabe solucionar um problema de maneira imediata, então é realizada a divisão em problemas menores para alcançar o resultado desejado.
III. Todos os problemas computacionais resolvidos de maneira iterativa gastam mais memória que se resolvidos de forma recursiva.
Uma função recursiva pela cauda sempre possui um equivalente iterativo direto.