## Data Structure Name: Queue
- #### Description:
- An array where the first-element in is the first element out to be processed (i.e., First-in First-out (FIFO))
- #### Variations:
- #### Diagram:
- #### General Use:
## Key Considerations
- #### Properties:
- Insert - also called enqueue - the new element is always added to the end of the queue
- Delete - also called dequeue - only allowed to remove the first element
- #### Implementation Details:
- Implement in Python using collections.deque:
- Provides an O(1) time complexity for append and pop operations as compared to a list that provides O(n) time complexity
![[PythonQueueComplexity.png]]
- #### General Tips
- #### Special Properties
## Specific Use Cases
- TBD