Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Estrutura de Dados — Instituto Consulplan 2024

Algoritmos e Estrutura de DadosEstrutura de Dados
Código
qg303889
Banca
Instituto Consulplan
Órgão
TJ-MA
Ano
2024
Nível
Superior
Cargo
Analista Judiciário - Analista de Sistemas - Governança e Gestão de TIC
Qual é a estrutura de dados mais adequada para implementar a funcionalidade de verificação em tempo real da disponibilidade de produtos em um sistema de gerenciamento de estoque de produtos de informática adquiridos pelo Tribunal de Justiça do Estado do Maranhão?
  1. AFila.
  2. BPilha.
  3. CLista.
  4. DTabela Hash.
Revelar gabarito e comentário

GabaritoD — Tabela Hash.

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

Estrutura de dados para verificação em tempo real em estoque

Gabarito: letra D (Tabela Hash). A verificação em tempo real da disponibilidade de produtos exige consultas rápidas por chave (código do produto). A tabela hash oferece tempo médio de busca O(1), sendo ideal para esse cenário. Filas, pilhas e listas lineares não são otimizadas para busca por chave, tendo complexidade O(n) no pior caso.

A banca testa o conhecimento da aplicação prática de estruturas de dados: qual delas atende ao requisito de busca eficiente. Vamos analisar cada alternativa.

Estrutura para busca por chave (estoque)
  • 1Busca O(1) — ideal
    • Tabela Hash
  • 2Busca O(n) — inadequada
    • Fila (FIFO)
    • Pilha (LIFO)
    • Lista (linear)
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Fila (Queue). Fila segue o princípio FIFO (First In, First Out). Operações principais: inserção ao final e remoção do início. A busca por um elemento específico exige percorrer toda a fila, resultando em complexidade O(n). Não é adequada para consultas frequentes por chave.

Alternativa B — ❌ Incorreta

Pilha (Stack). Pilha segue o princípio LIFO (Last In, First Out). Operações principais: inserção e remoção no topo. Assim como a fila, a busca por um elemento específico é O(n). Não atende ao requisito de verificação rápida.

Alternativa C — ❌ Incorreta

Lista (List). Geralmente implementada como lista ligada ou array dinâmico. Busca por um elemento exige percorrer a lista, com complexidade O(n) no pior caso. Mesmo que seja uma lista ordenada com busca binária (o que exigiria ordenação e acesso aleatório), a descrição não especifica ordenação. Para verificação em tempo real, O(n) é inaceitável quando o estoque é grande.

Alternativa D — ✅ Correta ⟵ GABARITO

Tabela Hash (Hash Table). Estrutura que associa chaves a valores usando uma função hash. A busca por uma chave (código do produto) é feita em tempo médio O(1), independentemente do número de elementos. Isso a torna ideal para sistemas que exigem consultas em tempo real, como verificação de disponibilidade de estoque. Embora colisões possam degradar a performance para O(n) no pior caso, com uma boa função hash e tratamento de colisões, a eficiência é mantida.

Conclusão: A tabela hash é a estrutura mais adequada para a funcionalidade descrita.

PEGA ESSA DICA!

Em questões sobre escolha de estrutura de dados, foque na operação principal exigida. Se a necessidade é busca rápida por chave, a tabela hash é a candidata natural. Se fosse necessidade de acesso sequencial ou ordem de chegada, fila/pilha seriam apropriadas.

Link permanente: /questoes/qg303889