Questões de Concurso Sobre algoritmos e estrutura de dados

Foram encontradas 3.780 questões

Q3774863 Algoritmos e Estrutura de Dados
Seja a seguinte estrutura de dados do tipo pilha, para a qual são explicitados: a base da pilha e o ponteiro Stack Pointer (SP) apontando para o topo da pilha.
                                                                           Imagem associada para resolução da questão

Assuma que existam as seguintes operações para manipulação da pilha:

Push a: empilha o valor da variável a na pilha, preservando o valor original de a.


Pop a: retira o valor do topo da pilha e o armazena na variável a.

Considerando o funcionamento típico de uma pilha e as variáveis x, y e z, a seguinte sequência de operações foi realizada em um programa:
x ← 5 y ← 4 Push x Push y Pop x Pop y x ← x – 2 y ← y – 1 Pop z Pop z Push x Push y

Dessa forma, é correto afirmar que a pilha passará a conter os seguintes valores armazenados (ordenados de cima para baixo) após a execução desse programa:
Alternativas
Q3774862 Algoritmos e Estrutura de Dados
Um algoritmo foi escrito na forma de uma pseudolinguagem (português estruturado), conforme apresentado a seguir:

                                                                                 Imagem associada para resolução da questão

Supondo-se que os valores lidos para as variáveis a1 e a2 tenham sido 1 e 2, respectivamente, ao final da execução desse algoritmo, a variável Z irá conter o valor
Alternativas
Q3773960 Algoritmos e Estrutura de Dados
A escolha da estrutura de dados adequada é fundamental para o desenvolvimento de algoritmos eficientes, impactando diretamente a complexidade e o desempenho do software. Sobre as características de desempenho de diferentes estruturas de dados, analise as afirmativas a seguir:

I.A busca por um elemento em uma árvore binária de busca (BST) perfeitamente balanceada possui complexidade de tempo no pior caso de O(logn), enquanto a busca em uma tabela de hash (hash table) com uma função de hash ideal e sem colisões possui complexidade de tempo de O(1).
II.Uma lista duplamente encadeada oferece vantagem sobre uma lista simplesmente encadeada por permitir a inserção e remoção de elementos em tempo constante, O(1), em qualquer posição da lista, desde que o ponteiro para o nó seja conhecido.
III.A estrutura de dados mais eficiente para implementar um sistema que necessita processar tarefas com base em diferentes níveis de urgência, garantindo que a tarefa de maior urgência seja sempre processada primeiro, é uma fila de prioridade (priority queue), frequentemente implementada com um heap.

Está correto o que se afirma em: 
Alternativas
Q3773954 Algoritmos e Estrutura de Dados
Uma empresa de logística precisa processar diariamente um arquivo de 100 GB contendo registros de entregas que precisam ser ordenados por data e hora para gerar um relatório consolidado. O servidor responsável pelo processamento possui apenas 8 GB de memória RAM disponível para a aplicação. A escolha do algoritmo de ordenação é crítica para que a tarefa seja executada eficientemente sem exceder a capacidade de memória. Considerando as restrições de memória, o algoritmo de ordenação adequado para esta situação é:
Alternativas
Q3765797 Algoritmos e Estrutura de Dados
Em algoritmos para grafos direcionados com pesos, a escolha do método afeta corretude e custo. Assinale a alternativa que casa cenário e algoritmo de forma apropriada para caminhos mínimos de uma origem. 
Alternativas
Q3760519 Algoritmos e Estrutura de Dados

Considere o algoritmo abaixo, em Python, que busca o menor elemento de uma lista e remove-o repetidamente, formando uma nova lista ordenada:


Imagem associada para resolução da questão


Esse algoritmo, apesar de funcional, apresenta baixa eficiência. A complexidade de tempo resultante é:

Alternativas
Q3755425 Algoritmos e Estrutura de Dados
A complexidade de caso médio representa o tempo de execução esperado de um algoritmo, considerando a distribuição típica das entradas possíveis para um conjunto de n elementos a serem ordenados. Considerando a análise assintótica, o algoritmo de ordenação que apresenta complexidade de tempo de execução de caso médio O(log (n)n), sendo O(.) a notação em Big-O, é o
Alternativas
Q3754874 Algoritmos e Estrutura de Dados
As estruturas de dados em algoritmos permitem organizar, armazenar e gerenciar dados de forma eficiente, de modo a otimizar o desempenho de um programa. Considerando a afirmação a seguir: O conceito de ______ é conhecido como first in, first out ou FIFO, expressão conhecida em português como PEPS ou "primeiro que entra, primeiro que sai".
Assinale a alternativa que completa a lacuna no texto acima:
Alternativas
Q3753491 Algoritmos e Estrutura de Dados
A eficiência no manuseio das informações, muitas vezes, pode ser substancialmente aumentada se os dados forem dispostos de acordo com algum critério de ordenação. Nesse contexto, os métodos de ordenação ganham relevância.
Analise as seguintes proposições sobre métodos de ordenação:

I - A ordenação por seleção (Selection Sort) realiza sempre a mesma quantidade de comparações, independentemente de o conjunto estar previamente ordenado ou não.

II – A ordenação por inserção (Insertion Sort) é o método adequado quando o vetor está quase ordenado.

III – A ordenação por borbulhamento (Bubble Sort) é um método em que, quando o vetor já encontra-se ordenado, nenhuma comparação ou movimentação ocorre.

IV – A ordenação por inserção (Insertion Sort) é estável, isto é, ela preserva a ordem relativa dos itens com chaves iguais.

Assinale a alternativa CORRETA:
Alternativas
Q3753490 Algoritmos e Estrutura de Dados
Uma Árvore Binária é uma árvore vazia (sem nós) ou é uma árvore com um nó raiz conectado a um par de árvores binárias, denominadas subárvore esquerda e subárvore direita desse nó.
Adaptado de ZIVIANI, N. Projeto de algoritmos: com implementações em JAVA e C++. Porto Alegre: +A Educação – Cengage Learning Brasil, 2012.

Uma Árvore de Busca Binária (ABB) é um caso especial de uma árvore binária, em que, para cada nó, a seguinte propriedade é verdadeira: todos os registros com chaves menores do que a chave deste nó estão em sua subárvore esquerda e todos os registros com chaves maiores estão em sua subárvore direita. O caminhamento em uma ABB é uma forma sistemática de “visitar” todos os nós dessa árvore. Há três métodos bem conhecidos para realizar esse caminhamento: 1) pré-ordem, 2) em-ordem e 3) pós-ordem.
Considere que os seguintes registros numéricos (50, 30, 70, 20, 40, 10, 35, 60, 80, 65, 5) foram inseridos em uma ABB inicialmente vazia, registro a registro, da esquerda para a direita.

O caminhamento pré-ordem irá processar os registros dessa árvore na seguinte ordem:
Alternativas
Q3753488 Algoritmos e Estrutura de Dados
Uma matriz é uma variável composta homogênea multidimensional. Define-se o elemento MINMAX de uma matriz como o maior elemento da linha em que se encontra o menor elemento da matriz. O código em Python, abaixo, tem como objetivo calcular o MINMAX de uma matriz 4x7.


Imagem associada para resolução da questão


Considerando o código acima, a variável que representa o valor MINMAX é
Alternativas
Q3753413 Algoritmos e Estrutura de Dados
Algoritmos são sequências finitas e bem definidas de instruções para resolver um problema ou executar uma tarefa. Antes mesmo de escrever um código em uma linguagem de programação, é crucial desenvolver o raciocínio lógico para estruturar o algoritmo que servirá de base para o programa. Um professor deseja que seus alunos desenvolvam um algoritmo para calcular a média de três notas e exibir se o aluno foi aprovado (média >= 7.0) ou reprovado. Marque a alternativa CORRETA que corresponde à sequência de passos que representa o algoritmo mais adequado e lógico para a execução dessa tarefa.
Alternativas
Q3753105 Algoritmos e Estrutura de Dados
O objetivo de uma busca é encontrar uma ou mais ocorrências de registros com chaves iguais à chave de pesquisa. Quando o conjunto de registros a ser pesquisado é pequeno o suficiente para ser carregado todo de uma vez na memória principal (ou memória interna) do computador, métodos de busca interna podem ser utilizados.
Considerando um conjunto de registros previamente ordenado e sem repetições, analise as seguintes proposições sobre métodos de busca interna:

I. A aplicação de busca sequencial sobre esse conjunto exigirá a verificação de todos os registros do conjunto para o melhor caso.
II. A aplicação de busca sequencial com sentinela sobre esse conjunto reduz o número de comparações, pois elimina a necessidade de testar a cada passo se o final do conjunto foi alcançado.
III. A busca binária pode ser aplicada sobre esse conjunto de registros.

Assinale a alternativa CORRETA
Alternativas
Q3753104 Algoritmos e Estrutura de Dados
Segundo Ziviani (2012, p. 111), “ordenar corresponde ao processo de rearranjar um conjunto de objetos em ordem ascendente ou descendente”. A Ordenação por Borbulhamento (Bubble Sort) é um dos métodos de ordenação baseados em comparação de chaves, que se dá por meio de sucessivas comparações e movimentações feitas com base nas chaves dos elementos do conjunto.

ZIVIANI, N. Projeto de algoritmos: com implementações em JAVA e C++. Porto Alegre: +A Educação – Cengage Learning Brasil, 2012.

Considere o vetor v = [5, 2, 9, 1, 6] e a aplicação do algoritmo de Bubble Sort para ordená-lo em ordem crescente. Após a primeira passagem (primeiro ciclo) do algoritmo, o estado do vetor é:
Alternativas
Q3753103 Algoritmos e Estrutura de Dados
Segundo Ziviani (2012, p. 98), “uma fila é uma estrutura de dados em que todas as inserções são realizadas em uma de suas extremidades (final da fila), enquanto que todas as retiradas e acessos são realizados na outra extremidade da estrutura (início da fila)”.

ZIVIANI, N. Projeto de algoritmos: com implementações em JAVA e C++. Porto Alegre: +A Educação – Cengage Learning Brasil, 2012.


O conjunto básico de operações de uma fila é:

criar (): cria uma fila vazia; • enfileirar (f, x): enfileira o item x no final da fila f; • desenfileirar (f): desenfileira o item do início da fila f e o retorna; • inicio(f): retorna o item do início da fila f, sem retirá-lo.

Considere a seguinte sequência de operações sobre uma fila f vazia: enfileirar(f, 4); enfileirar(f, 7); enfileirar(f, 2); desenfileirar(f); enfileirar(f, 9); inicio(f); desenfileirar(f); enfileirar(f, 5); enfileirar(f, 6); desenfileirar(f); enfileirar(f, inicio(f)).

Assinale a alternativa que representa CORRETAMENTE o conteúdo fila, do início para o final, após a execução de todas as operações acima:
 
Alternativas
Q3742497 Algoritmos e Estrutura de Dados

Analise o algoritmo da figura.



Imagem associada para resolução da questão



Após a execução, o algoritmo irá gerar, como resultado, a seguinte série:

Alternativas
Q3740704 Algoritmos e Estrutura de Dados

Analise o pseudocódigo a seguir, considerando o comportamento das funções: andar_frente(n) faz um robô andar n passos para frente, andar_trás(n) faz o robô andar n passos para trás e sair() encerra o laço enquanto.


Imagem associada para resolução da questão


Assinale a alternativa que indica corretamente o valor final da variável total após a execução do algoritmo:

Alternativas
Q3723326 Algoritmos e Estrutura de Dados
Durante o desenvolvimento de um sistema de planejamento de rotas para transporte público urbano, um professor do EBTT orientou seus alunos a analisar diferentes algoritmos clássicos de grafos com base em sua aplicabilidade e eficiência computacional. O sistema considera, além da distância, outros fatores como custo, tempo de deslocamento e subsídios tarifários, o que pode resultar em pesos negativos nas arestas do grafo. No entanto, não se admite a existência de ciclos com peso negativo, pois eles inviabilizariam o cálculo de rotas válidas. O sistema calcula as melhores rotas a partir de um ponto de origem único. Considerando esse contexto e o comportamento dos algoritmos em grafos ponderados, o melhor algoritmo para a aplicação é:
Alternativas
Q3723324 Algoritmos e Estrutura de Dados
Durante a implementação de uma estrutura de lista para representar uma fila de impressão com inserções frequentes no final e remoções no início, um professor do EBTT propôs analisar qual tipo de lista e estratégia de alocação ofereceria o melhor desempenho. Considerando os tipos de listas e suas implicações no tempo de execução das operações básicas, é correto afirmar que:
Alternativas
Q3723320 Algoritmos e Estrutura de Dados
Durante a implementação de um sistema de indexação hierárquica, um professor propôs a utilização de uma estrutura de árvore que mantivesse a eficiência das operações de busca, inserção e remoção mesmo após diversas modificações dinâmicas. Para isso, seria necessário manter a altura da árvore proporcional a log(n), utilizando operações de rotação e verificação de fator de balanceamento. Considerando diferentes tipos de estruturas de árvore, é correto afirmar que:
Alternativas
Respostas
221: C
222: E
223: B
224: E
225: C
226: B
227: D
228: D
229: A
230: C
231: C
232: D
233: A
234: D
235: C
236: D
237: A
238: A
239: B
240: C