Questões de Concurso Sobre algoritmos e estrutura de dados

Questões Discursivas

Foram encontradas 3.832 questões

Q4086263 Algoritmos e Estrutura de Dados
No desenvolvimento de algoritmos, a recursividade pode ser classificada em diferentes tipos, de acordo com a forma como as chamadas recursivas ocorrem. Nesse sentido, considere que uma função, durante sua execução, realiza uma chamada para ela mesma, ou seja, a própria função invoca diretamente sua definição em seu corpo. Essa situação caracteriza qual tipo de recursividade? 
Alternativas
Q4086238 Algoritmos e Estrutura de Dados
Um professor do IFCE está orientando seus estudantes no desenvolvimento de um sistema para gerenciar registros de projetos de pesquisa e monitoria. O sistema deve utilizar uma estrutura de dados que permita inserções e remoções em qualquer posição e em que, ao alcançar o último elemento, o próximo acesso retorne ao primeiro elemento da estrutura, não havendo ponteiro nulo ao final da sequência.

Considerando essas características, a estrutura de dados adequada é a
Alternativas
Q4086237 Algoritmos e Estrutura de Dados
Em estruturas de dados, pilhas e filas possuem operações específicas para inserção e remoção de elementos. Assinale a alternativa que apresenta, respectivamente, a operação para inserir um elemento no topo de uma pilha e remover um elemento do início de uma fila.
Alternativas
Q4086236 Algoritmos e Estrutura de Dados
Em estruturas de dados, algumas árvores possuem mecanismos que mantêm sua altura aproximadamente balanceada, garantindo eficiência nas operações. Assinale a alternativa que apresenta apenas exemplos de árvores balanceadas.
Alternativas
Q4086235 Algoritmos e Estrutura de Dados
Em linguagens de programação, os comandos controlam o fluxo de execução e manipulam dados. A recursividade permite que funções chamem a si mesmas para resolver problemas de forma hierárquica ou repetitiva. A esse respeito, informe se é verdadeiro (V) ou falso (F) o que se afirma a seguir e assinale a alternativa com a sequência correta.

( ) O comando for é um exemplo de estrutura de repetição que executa um bloco de código várias vezes, dependendo de uma condição.
( ) Em recursividade, não é necessário definir um caso-base, pois a função se encerra automaticamente após chamadas sucessivas.
( ) O comando if-else permite que diferentes blocos de código sejam executados dependendo de uma condição booleana.
( ) Uma função recursiva pode ser reescrita utilizando loops equivalentes, sem alterar o resultado final do programa. 
Alternativas
Q4076583 Algoritmos e Estrutura de Dados
Em uma rotina de ensino de programação procedural, o instrutor apresenta um algoritmo que recebe um vetor de inteiros, percorre seus elementos e retorna um valor calculado ao final. Nessa abordagem, a estrutura mais adequada para percorrer sequencialmente todas as posições do vetor é:
Alternativas
Q4071625 Algoritmos e Estrutura de Dados
Em navegadores Web, o histórico de páginas visitadas pelo usuário pode ser implementado por meio de uma estrutura de dados do tipo pilha. Nesse contexto, ao visitar uma nova página, ela é colocada no topo da pilha. Quando o usuário aciona o botão voltar do navegador, a página atual é removida da pilha, e a página exibida passa a ser aquela que estiver no topo após a remoção.

Considere a seguinte sequência de ações realizadas por um usuário:
Entrou na página A;
Entrou na página B;
Entrou na página C;
Clicou em voltar;
Entrou na página D;
Clicou em voltar;
Clicou em voltar;

Com base nesse comportamento, assinale a alternativa que representa CORRETAMENTE a página que o usuário está visualizando no momento: 
Alternativas
Q4071623 Algoritmos e Estrutura de Dados
A Ordenação por Inserção (Insertion Sort) é um algoritmo eficiente para ordenar um número pequeno de elementos (Cormen et al., 2024). Em cada passo, a partir de i = 2, o i-ésimo elemento da sequência é transferido para o seu lugar apropriado no arranjo (vetor).

Sobre o método de ordenação por inserção, assinale a alternativa INCORRETA:
Alternativas
Q4071622 Algoritmos e Estrutura de Dados
No contexto da área de Algoritmos e Estruturas de Dados, o hashing consiste em um método de pesquisa, no qual os registros armazenados em uma tabela são diretamente endereçados a partir de uma transformação aritmética sobre a chave de pesquisa (Ziviani, 2012). Uma possível função de transformação é K mod M, em que K é um inteiro correspondente à chave de pesquisa e M é o tamanho da tabela.
Considere que a i-ésima letra do alfabeto é representada pelo número i (A = 1, B = 2, C = 3, …) e que o valor da chave K é obtido pela soma dos valores das letras da palavra.

Dada a função de transformação h(K) = K mod 7, qual alternativa apresenta CORRETAMENTE os endereços gerados para as chaves CASA e BOLA, respectivamente?
Alternativas
Q4071621 Algoritmos e Estrutura de Dados
Um método recursivo é aquele que chama a si mesmo, direta ou indiretamente. Métodos recursivos permitem uma descrição mais clara e concisa dos algoritmos, especialmente quando o problema a ser resolvido pode ser definido em termos recursivos. No entanto, isso não significa que um método recursivo será sempre a melhor opção para resolver um problema (Ziviani, 2012).
O código em Python, a seguir, tem como objetivo calcular, recursivamente, o n-ésimo número de Fibonacci. Esse código é extremamente ineficiente, pois recalcula o mesmo valor várias vezes. Por exemplo, para calcular fib(5) são necessários os valores de fib(4) e fib(3). Entretanto, fib(4) também chama recursivamente fib(3). 
Imagem associada para resolução da questão
Considerando a execução do código apresentado para n = 5, assinale a alternativa que representa CORRETAMENTE o número de chamadas de fib(5), fib(4), fib(3), fib(2) e fib(1), nessa ordem. 
Alternativas
Q4067563 Algoritmos e Estrutura de Dados
Na estrutura de dados denominada Pilha (Stack), o método de acesso aos elementos é regido por uma política específica. Assinale a alternativa que apresenta a definição desse princípio. 
Alternativas
Q4067558 Algoritmos e Estrutura de Dados
O diagrama de Chapin (ou de Nassi-Shneiderman) é uma ferramenta visual para a representação de algoritmos. Em comparação aos fluxogramas convencionais, a principal característica do diagrama de Chapin é:
Alternativas
Q4067556 Algoritmos e Estrutura de Dados
 Na estrutura de pseudocódigo, os conceitos de Procedimento e Função são distintos em sua finalidade. Diferente de um procedimento, uma função é caracterizada por:
Alternativas
Q4067548 Algoritmos e Estrutura de Dados
Em pseudocódigo, qual estrutura de controle básica é caracterizada pela execução linear, um comando após o outro, sem desvios ou repetições? 
Alternativas
Q4067222 Algoritmos e Estrutura de Dados
Considere uma função recursiva em Python destinada a calcular o fatorial de um número inteiro não negativo. Para que a recursão termine corretamente, é indispensável a definição de: 
Alternativas
Q4067221 Algoritmos e Estrutura de Dados
Em uma implementação de estrutura de dados, a operação de inserção e remoção ocorre sempre na mesma extremidade, obedecendo à lógica LIFO. Essa estrutura é denominada:
Alternativas
Q4067220 Algoritmos e Estrutura de Dados
Em análise de algoritmos, uma rotina que percorre sequencialmente os elementos de um vetor de tamanho n, realizando uma comparação por posição, possui complexidade de tempo: 
Alternativas
Q4067212 Algoritmos e Estrutura de Dados
Em uma árvore binária de busca, considerando valores distintos, a propriedade que orienta a organização dos nós estabelece que:
Alternativas
Q4067211 Algoritmos e Estrutura de Dados
Considere uma função recursiva em Python destinada a calcular o fatorial de um número inteiro não negativo. Para que a recursão termine corretamente, é indispensável a definição de: 
Alternativas
Q4067210 Algoritmos e Estrutura de Dados
Em uma implementação de estrutura de dados, a operação de inserção e remoção ocorre sempre na mesma extremidade, obedecendo à lógica LIFO. Essa estrutura é denominada: 
Alternativas
Respostas
61: C
62: A
63: E
64: B
65: D
66: A
67: C
68: D
69: D
70: D
71: C
72: B
73: C
74: A
75: A
76: B
77: A
78: B
79: A
80: B