Queue
Queue is a data structure that uses a FIFO (first-in first-out) upon which the following operations are supported:
- queue(object): add object on the end of the queue O(1)
- pop(): remove the object which on the top of the stack O(1)
- peek(): return object which is on the top of the stack O(1)
A queue can be used to implement BFS.