Questão de Algoritmos e Estrutura de Dados — Estrutura de Dados — INSTITUTO AOCP 2025
Algoritmos e Estrutura de Dados›Estrutura de Dados
Código
qg543516
Banca
INSTITUTO AOCP
Órgão
TRE-TO
Ano
2025
Nível
Superior
Cargo
Analista Judiciário - Área de Atividade: Apoio Especializado - Especialidade: Tecnologia da Informação
Para implementar um módulo de gestão de pedidos, pode-se utilizar orientação a objetos para organizar a estrutura do sistema e aplicar herança, encapsulamento e polimorfismo. Além disso, é possível implementar algoritmos de ordenação para organizar os pedidos por data e aplicar estruturas de dados dinâmicas para otimizar o desempenho. Nesse contexto, com base nos princípios de engenharia de software e boas práticas de implementação, assinale a alternativa correta.
AO uso de herança múltipla em linguagens como Java é incentivado, pois simplifica o acoplamento e melhora a coesão dos objetos.
BAlgoritmos com complexidade quadrática, como bubble sort, são os mais indicados para bases de dados com milhares de registros, devido à sua simplicidade de implementação.
CA escolha de estruturas de dados impacta diretamente a eficiência dos algoritmos e deve ser feita com base nos requisitos de tempo de acesso, inserção e remoção.
DO uso de arrays é preferível a listas encadeadas quando há necessidade de inserções frequentes e dinâmicas em posições intermediárias.
EA orientação a objetos dispensa a análise de estruturas de dados, pois o encapsulamento resolve todos os problemas relacionados à eficiência de acesso.
Revelar gabarito e comentário▾
GabaritoC — A escolha de estruturas de dados impacta diretamente a eficiência dos algoritmos e deve ser feita com base nos requisitos de tempo de acesso, inserção e remoção.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Estruturas de Dados e Algoritmos
Gabarito: letra C. A escolha da estrutura de dados impacta diretamente a eficiência dos algoritmos, devendo ser baseada nos requisitos de tempo de acesso, inserção e remoção. Esse é um princípio fundamental da computação, conforme discutido no conteúdo de apoio, que destaca que a eficiência das estruturas de dados é crucial para o desempenho dos algoritmos.
Alternativa A — ❌ Incorreta
Java não suporta herança múltipla de classes (apenas interfaces). Além disso, herança múltipla tende a aumentar o acoplamento entre classes, não simplificá-lo. O incentivo é por composição, não herança múltipla.
Alternativa B — ❌ Incorreta
Algoritmos quadráticos como bubble sort (O(n²)) são inadequados para bases com milhares de registros. Algoritmos eficientes como mergesort ou quicksort (O(n log n)) são mais indicados. Simplicidade não compensa a perda de desempenho.
Alternativa C — ✅ Correta ⟵ GABARITO
A escolha da estrutura de dados (vetores, listas, árvores, etc.) determina o custo computacional das operações. Por exemplo, listas encadeadas favorecem inserções frequentes, enquanto arrays favorecem acesso aleatório. O conteúdo de apoio reforça que "EDs eficientes são cruciais para a elaboração de algoritmos" e que os critérios de escolha incluem eficiência para buscas e padrões de acesso.
Alternativa D — ❌ Incorreta
Arrays possuem tamanho fixo e inserções em posições intermediárias exigem deslocamento de elementos (O(n)). Listas encadeadas, por outro lado, permitem inserção O(1) se o ponteiro for conhecido. Para inserções dinâmicas frequentes em posições intermediárias, listas encadeadas são mais adequadas.
Alternativa E — ❌ Incorreta
Encapsulamento é um princípio de orientação a objetos que esconde detalhes de implementação, mas não elimina a necessidade de análise de estruturas de dados. A eficiência de acesso depende da estrutura escolhida, independentemente do paradigma.
PEGA ESSA DICA!
Ao escolher entre array e lista encadeada, lembre-se: array é melhor para acesso indexado e poucas inserções/remoções; lista encadeada é melhor para inserções/remoções frequentes, especialmente no início ou em posições conhecidas. Sempre analise as operações predominantes do seu sistema.