Question 1: Complexity, Efficiency [10]

Suppose we have a collection of printers, and we want to keep track of jobs waiting for each of the different printers. The data structure we decide to use is a list of queues. Suppose the size of the list is L (i.e. there are L queues) and the number of jobs queued for the ith printer is Pi.

Assuming the list is unsorted, give the running time (complexity) for each of the operations listed below. Justify your answer and state any assumptions you need to make.

  1. deleting all jobs in all print queues

  2. displaying all jobs in the queue for printer i

  3. removing the front job from the first queue in the list

  4. adding a new queue to the list