Деки (deque) отличаются от очередей и стеков тем, что объединяют их возможности. 1
Очереди работают по принципу FIFO (First In, First Out). 1 Из очереди можно быстро и легко извлечь элемент, который расположен в самом её начале и находится в ней дольше всего. 1 Добавляются же элементы только в конец. 1
Стеки работают по принципу LIFO (Last In, First Out). 1 Элементы добавляются в конец, а быстро получить и извлечь их можно опять же с конца. 1 То есть чем позже элемент добавили в стек, тем легче до него добраться. 1
Деки же позволяют добавлять или удалять элементы как с начала, так и с конца очереди. 3 Такие структуры данных могут работать и по принципу FIFO, и по принципу LIFO. 1 Доступ к элементам возможен с любого конца. 1
Таким образом, деки используют, когда важно обеспечить доступ и к первым, и к последним элементам, например, при оптимизации выполнения процессов. 1