A queue is implemented using a non-circular singly linked list. The queue has a head pointer and a tail pointer, as shown in the figure. Let $n$ denote the number of nodes in the queue. Let 'enqueue' be implemented by inserting a new node at the head, and 'dequeue' be implemented by deletion of a node from the tail.
Which one of the following is the time complexity of the most time-efficient implementation of 'enqueue' and 'dequeue, respectively, for this data structure?
- $\Theta(1), \Theta(1)$
- $\Theta(1), \Theta(n)$
- $\Theta(n), \Theta(1)$
- $\Theta(n), \Theta(n)$