Computação Múltipla Escolha

Quais das seguintes afirmações são verdadeiras para uma fila de prioridade?

Quais das seguintes afirmações são verdadeiras para uma fila de prioridade?

  1. Se os elementos forem inseridos em ordem ascendente de prioridade (isto é, o elemento de menor prioridade inserido primeiro), e todos os elementos forem inseridos antes de qualquer outro ser removido, então a fila de prioridade trabalha como uma fila
  2. Se os elementos forem inseridos em ordem ascendente de prioridade (isto é, o elemento de menor prioridade inserido primeiro), e todos os elementos forem inseridos antes de qualquer outro ser removido, então a fila de prioridade trabalha como uma pilha
  3. Se os elementos forem inseridos antes de qualquer outro ser removido, então a fila de prioridade trabalha como uma fila
  4. Se os elementos forem inseridos em ordem descendente de prioridade (isto é, o elemento de maior prioridade inserido primeiro), e todos os elementos forem inseridos antes de qualquer outro ser removido, então a fila de prioridade trabalha como uma pilha
  5. Se os elementos forem inseridos em ordem descendente de prioridade, então a fila de prioridade trabalha como uma fila caso as inserções precedam ou não a todas remoções

Resolução completa

Explicação passo a passo

B
Alternativa B

Alternativa B

Análise Detalhada

Para responder a esta questão, precisamos entender como uma Fila de Prioridade opera em relação à ordem de inserção e remoção dos elementos.

1. Conceito de Fila de Prioridade
Uma fila de prioridade é uma estrutura de dados onde cada elemento possui um valor associado de prioridade. O princípio fundamental é que o elemento com a maior prioridade é processado (removido) antes dos outros.

  • Por padrão, em muitas definições teóricas, assumimos que valores numéricos maiores indicam maior prioridade (ex: $10 > 5$).

2. Analisando o Cenário da Alternativa B
O enunciado descreve: "Se os elementos forem inseridos em ordem ascendente de prioridade (isto é, o elemento de menor prioridade inserido primeiro)..."

Vamos simular isso com números:

  • Inserção (Ordem Ascendente): Inserimos os elementos com prioridades $1, 2, 3, \dots, n$.
  • O primeiro inserido tem prioridade baixa ($1$).
  • O último inserido tem prioridade alta (n).
  • Remoção: Como a fila remove sempre quem tem a maior prioridade:
  • O primeiro a sair será o de prioridade n (que foi inserido por último).
  • O segundo a sair será o de prioridade n-1.
  • O último a sair será o de prioridade $1$ (que foi inserido primeiro).

3. Comparação com Estruturas de Dados

  • Fila (FIFO): Quem entra primeiro, sai primeiro.
  • Pilha (LIFO): Quem entra por último, sai primeiro.

No nosso cenário, a ordem de saída é invertida em relação à ordem de entrada (quem entrou por último, saiu primeiro). Isso é exatamente o comportamento de uma Pilha.

Resumo das Alternativas

OpçãoCenárioComportamento EsperadoCorreto?
aOrdem AscendenteSai na ordem inversa (Pilha)❌ Falso
bOrdem AscendenteSai na ordem inversa (Pilha)Verdadeiro
cSem ordenação específicaAleatório ou depende da implementação❌ Falso
dOrdem DescendenteSai na mesma ordem (Fila)❌ Falso
eQualquer momentoNão garante comportamento fixo sem ordenação❌ Falso

Conclusão: Quando inserimos elementos com prioridades crescentes ($1, 2, 3\dots$) e removemos sempre o de maior prioridade, temos uma inversão temporal idêntica ao funcionamento de uma pilha.

Alternativa B.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Computação

Ver mais Computação resolvidas

Tem outra questão de Computação?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.