Sobes.tech
Junior — Middle

Můžete vysvětlit hlavní rozdíly mezi datovými strukturami Fronta a Deque?

sobes.tech AI

Odpověď od AI

Fronta a Deque jsou datové struktury pro ukládání prvků v určitém pořadí jejich odebrání, ale s různými možnostmi:

  • Fronta (queue) — je datová struktura, která funguje podle principu FIFO (First In, First Out). Prvky jsou přidávány na konec a odebírány z začátku. Příklad: fronta úkolů.

  • Dequ (dvojitá fronta) — rozšíření fronty, které umožňuje přidávat a odstraňovat prvky jak z začátku, tak z konce. To poskytuje větší flexibilitu, například pro implementaci zásobníku nebo fronty.

V jazyce Java interface Queue podporuje operace offer(), poll(), peek(), a Deque přidává metody jako addFirst(), addLast(), removeFirst(), removeLast() atd.

Příklad použití Deque jako zásobníku:

Deque<Integer> stack = new ArrayDeque<>();
stack.push(1); // přidá prvek na vrchol
stack.push(2);
int top = stack.pop(); // odebere 2

Tímto je Deque univerzálnější než Fronta.