Sobes.tech
Junior — Middle

Pode explicar as principais diferenças entre as estruturas de dados Queue e Deque?

sobes.tech IA

Resposta da IA

Queue e Deque são estruturas de dados para armazenar elementos numa ordem específica de extração, mas com capacidades diferentes:

  • Queue (fila) — é uma estrutura de dados que funciona pelo princípio FIFO (First In, First Out). Os elementos são adicionados ao final e extraídos do início. Exemplo: uma fila de tarefas.

  • Deque (fila de duas extremidades) — uma extensão de Queue que permite adicionar e remover elementos tanto do início quanto do final. Isso oferece maior flexibilidade, por exemplo, para implementar uma pilha ou uma fila.

Em Java, a interface Queue suporta operações offer(), poll(), peek(), e Deque adiciona métodos como addFirst(), addLast(), removeFirst(), removeLast(), etc.

Exemplo de uso do Deque como pilha:

Deque<Integer> stack = new ArrayDeque<>();
stack.push(1); // adiciona elemento no topo
stack.push(2);
int top = stack.pop(); // remove 2

Assim, o Deque é mais versátil do que a Queue.