Python library data structures
Key 2: Using Python's standard library data structures.
- collections.deque: The collections module have a dequeimplementation. Deque is useful for the scenarios where item insertion and deletion occurs at both ends of structure as it has efficient inserts at the start of structure as well. Time-complexity is similar to copy O(n), insert—O(1), and delete—O(n). The following graph shows an insert at 0 position operation comparison between list and deque:>>> d = deque() >>> getsizeof(d) 632 >>> d = deque(range(100)) >>> getsizeof(d) 1160 The following image is the graphical representation of the preceding code:  
- PriorityQueue: A standard library queue module has implementations for multiproducer, and multiconsumer queues. We can simplify and reuse its PriorityQueuefor simpler cases using theheapqmodule, as follows:from heapq import heappush, heappop from itertools import count class PriorityQueue(object... 
 
                                             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
     
         
                 
                 
                 
                 
                 
                 
                 
                 
                