Questões de Concurso
Comentadas sobre estrutura de dados em algoritmos e estrutura de dados
Foram encontradas 1.227 questões
Assinale a alternativa que descreve corretamente esses dois conceitos.
A eficiência de um software está intrinsecamente ligada à escolha das estruturas de dados utilizadas para o armazenamento e recuperação de informações. Acerca do assunto, registre V, para as afirmativas verdadeiras, e F, para as falsas:
(__) Árvores Binárias de Busca (ABB) balanceadas garantem que a complexidade de tempo para as operações de inserção, remoção e busca no pior caso seja mantida em nível logarítmico.
(__) Tabelas de Espalhamento (Hash) operam com complexidade de tempo constante para busca em diversos cenários, independentemente do fator de carga ou da técnica de tratamento de colisões adotada.
(__) Filas de prioridade implementadas por meio de Montículos (Heaps) binários permitem o acesso ao elemento de maior prioridade em tempo constante, apresentando custo logarítmico para a remoção.
(__) Listas duplamente encadeadas apresentam desempenho superior aos vetores (Arrays) para o acesso aleatório a elementos por índices, consumindo menor volume de memória para grandes conjuntos.
Assinale a alternativa que apresenta a sequência correta, de cima para baixo.
(1) uma para processar eventos de log na ordem em que chegam, ou seja, o primeiro que chega é o primeiro que sai; e
(2) outra para gerenciar o histórico de navegação do usuário em um Web Service.
Assinale a alternativa que correlaciona corretamente a estrutura de dados e a ordem de processamento.
A estrutura de dados mais eficiente para atender ao requisito de busca com complexidade 0(1) em média para chaves, mesmo que envolva um trade-off no uso de memória, é
No desenvolvimento de sistemas computacionais, a construção de algoritmos envolve a definição clara de passos, o uso adequado de estruturas de dados e a adoção de paradigmas de programação conforme o problema a ser resolvido. Acerca destes conhecimentos, analise as afirmativas a seguir:
I. Um algoritmo pode ser representado por diferentes formas, como pseudocódigo ou fluxogramas, desde que descreva de maneira lógica e ordenada as etapas necessárias para resolver um problema.
II. Estruturas de dados como listas, filas e pilhas organizam informações de modos distintos, influenciando diretamente a eficiência das operações de inserção, remoção e acesso aos dados.
III. No paradigma procedural, os programas são estruturados em procedimentos ou funções, priorizando a organização do código em blocos reutilizáveis.
IV. Na programação orientada a objetos, conceitos como classes e objetos permitem agrupar dados e comportamentos, favorecendo a modelagem de sistemas mais próximos da realidade.
V. Estruturas condicionais e de repetição são exclusivas do paradigma orientado a objetos, não sendo aplicáveis a algoritmos procedurais.
Assinale a alternativa correta:
É CORRETO afirmar que:
É CORRETO afirmar que:
Nesse contexto, é CORRETO afirmar que:
(__)Em pseudocódigo, estruturas de seleção permitem a execução condicional de blocos de instruções distintos, conforme o resultado de uma expressão lógica avaliada durante a execução do algoritmo.
(__)Fluxogramas utilizam símbolos padronizados para representar decisões, entradas, saídas e processamento, facilitando a visualização do fluxo lógico, ainda que não substituam integralmente a descrição textual do algoritmo.
(__)Estruturas de repetição possibilitam a execução contínua de um conjunto de instruções enquanto uma condição permanecer verdadeira, sendo geralmente empregadas quando o número de iterações não é previamente conhecido.
(__)Vetores e matrizes são estruturas equivalentes quanto à organização lógica dos dados, diferenciando-se apenas pela quantidade de elementos armazenados, sem impacto na forma de acesso ou indexação.
(__)Registros permitem agrupar dados de naturezas diferentes sob um mesmo identificador, o que favorece a organização de informações relacionadas em um algoritmo.
(__)Procedimentos e funções têm como principal diferença o fato de que apenas as funções podem devolver valores ao algoritmo chamador, enquanto procedimentos executam ações sem retorno direto.
Assinale a alternativa que mostra corretamente a sequência de V(verdadeiro) e F (falso) de cima para baixo:
Uma livraria precisa gerenciar seu catálogo digital onde novos títulos são constantemente adicionados e livros esgotados são removidos. É essencial que as operações de inserção, remoção e busca por títulos sejam rápidas (idealmente em tempo logarítmico) para não impactar as vendas. O sistema deve manter os livros sempre em ordem alfabética.
Nesse contexto, qual estrutura de dados é mais adequada para atender a esses requisitos de um catálogo dinâmico e ordenado?
I. As pilhas (stacks) operam segundo o princípio LIFO, permitindo inserções e remoções no topo com excelente desempenho, sendo úteis em chamadas de função.
II. Árvores binárias de busca garantem tempo constante O(1) para inserção e busca em qualquer cenário, independentemente da ordem de inserção dos dados.
III. Filas (queues) seguem o princípio FIFO, sendo amplamente utilizadas em sistemas de agendamento, buffers e comunicação assíncrona.
A sequência correta é:
Sobre técnicas de indexação utilizando hashing, assinale a opção correta.
Assinale a alternativa que completa a lacuna no texto acima:
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: