Questões de Filas (Algoritmos e Estrutura de Dados)

Limpar Busca

Um desenvolvedor está implementando uma estrutura de dados do tipo fila em Java. Ele iniciou a implementação da classe Fila utilizando um array para armazenar os elementos:


Imagem não encontrada



No método enfileirar, qual é a finalidade da expressão (fim + 1) % elementos.length?

  • A Inicializar o índice fim com o valor correto na primeira inserção.
  • B Verificar se a fila está cheia antes de adicionar um novo elemento.
  • C Aumentar a capacidade do array dinamicamente quando necessário.
  • D Garantir que o índice fim não ultrapasse o tamanho do array, permitindo que a fila seja circular.

Em algoritmos, as filas são estruturas de dado do tipo:

  • A PEAP.
  • B ILO.
  • C FIFO.
  • D BCOD.
  • E FILO.
Ao lidar com estruturas de dados do tipo, lista, fila, pilha e árvores, quando se trata de acesso a elementos em ordem específica, como exemplo: FIFO (First In, First Out), ou seja, primeiro a entrar, primeiro a sair, e LIFO (Last In, First Out), ou seja, último a entrar, primeiro a sair. Com base neste conceito, assinale qual a estrutura mais adequada.
  • A Árvore para FIFO e Lista para LIFO
  • B Lista para FIFO e Fila para LIFO
  • C Árvore para LIFO e Fila para FIFO
  • D Fila para FIFO e Pilha para LIFO

Suponha que queiramos inserir o dado de valor ‘13’ na fila. Considerando ULTIMO=4 e TOPO=8, após a inserção, teremos, com os dados listados na ordem padrão da fila (do mais antigo para o mais recente), a seguinte configuração:

  • A Dados da fila: 13,0,1,21,5,7,9; índices dos elementos livres: 3,9,8.
  • B Dados da fila: 0,1,21,5,7,9,13; índices dos elementos livres: 8,3,9.
  • C Dados da fila: 9,5,-1,0,7,16,13; índices dos elementos livres: 8,3,9.
  • D Dados da fila: 13,9,5,-1,0,7,16; índices dos elementos livres: 3,9,6.
  • E e) Dados da fila: 9,7,5,21,1,0,13; índices dos elementos livres: 3,9,6.

Muitas vezes o uso de encadeamento simples acarreta a necessidade de incluir um comando de repetição (laço) para fazer um ponteiro (ou indexador) percorrer a estrutura a partir do início até ele se posicionar no penúltimo elemento da estrutura, demandado possivelmente por uma inserção e/ou uma deleção. No exemplo em questão, pela forma de implementação escolhida, podemos afirmar que isso ocorre sempre que se fizer uma operação de

  • A inserção na fila de dados.
  • B deleção na fila de dados.
  • C inserção na pilha de elementos livres.
  • D deleção na pilha de elementos livres.
  • E deleção em ambas, fila de dados e pilha de elementos livres.