Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Algoritmos — COTEC 2024

Algoritmos e Estrutura de DadosAlgoritmos
Código
qg112231
Banca
COTEC
Órgão
Prefeitura de Brasília de Minas - MG
Ano
2024
Nível
Superior
Cargo
Analista de Sistemas
Dadas as diferentes técnicas e fatores que influenciam a escolha do melhor algoritmo de ordenação, considere o seguinte cenário: o desenvolvedor precisa ordenar um grande conjunto de dados parcialmente ordenados, em um sistema que possui memória limitada e um processador de baixo desempenho.Qual é a abordagem mais apropriada para escolher o algoritmo de ordenação ideal?
  1. AEscolher um algoritmo baseado apenas no número total de itens, independentemente do nível de ordenação e das limitações impostas pelos requisitos de hardware.
  2. BConsiderar a quantidade de dados já ordenados e a limitação de memória, optando por um algoritmo eficiente em memória e otimizado para dados parcialmente ordenados.
  3. CEscolher um algoritmo específico para algoritmos de alta capacidade, velocidade e disponibilidade de grandes capacidades de memória, independentemente da situação dos dados.
  4. DSelecionar qualquer algoritmo que funcione em tempo constante, sem levar em consideração as especificações do problema ou do sistema.
  5. EOptar por um algoritmo de alta complexidade temporal, focando exclusivamente na precisão da ordenação, independentemente do tempo previsto para execução.
Revelar gabarito e comentário

GabaritoB — Considerar a quantidade de dados já ordenados e a limitação de memória, optando por um algoritmo eficiente em memória e otimizado para dados parcialmente ordenados.

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”.

Escolha do algoritmo de ordenação

Gabarito: letra B. A abordagem mais apropriada para o cenário descrito (grande conjunto parcialmente ordenado, memória limitada, processador fraco) é considerar o grau de ordenação já existente e as restrições de hardware, optando por um algoritmo eficiente em memória e otimizado para dados parcialmente ordenados – exatamente o que a alternativa B afirma.

A banca testa a capacidade de relacionar características do problema (dados parcialmente ordenados, recursos escassos) com algoritmos de ordenação adequados (p. ex., Insertion Sort é eficiente para dados quase ordenados e tem baixo overhead de memória; Merge Sort consome mais memória, etc.). A resposta não é um algoritmo específico, mas o raciocínio correto de escolha.

Alternativa A — ❌ Incorreta

Foca apenas no número total de itens, ignorando o nível de ordenação e as limitações de hardware. Um algoritmo como QuickSort pode ser bom em média, mas não é otimizado para dados já parcialmente ordenados (pior caso O(n²)) e pode exigir recursão que sobrecarrega a memória.

Alternativa B — ✅ Correta ⟵ GABARITO

Considera expressamente os dois fatores cruciais: a quantidade de dados já ordenados (que permite usar algoritmos adaptativos como Insertion Sort) e a limitação de memória (evitando algoritmos que alocam muita memória extra, como Merge Sort). Essa é a abordagem correta para o cenário.

Alternativa C — ❌ Incorreta

Escolhe um algoritmo pensando em "alta capacidade, velocidade e grande memória", o que é contrário ao cenário de recursos limitados. Ignora a situação real do problema.

Alternativa D — ❌ Incorreta

Alega que qualquer algoritmo de tempo constante serve, mas não existe algoritmo de ordenação de tempo constante (a ordenação de um conjunto tem complexidade mínima O(n log n) para comparações). Além disso, desconsidera as especificações do problema e do sistema.

Alternativa E — ❌ Incorreta

Opta por alta complexidade temporal, focando apenas na precisão. Isso é ineficiente e inadequado para um processador de baixo desempenho e memória limitada, pois o tempo de execução seria excessivo.

Gabarito: letra B.

Link permanente: /questoes/qg112231