Consider the following operation along with Enqueue and Dequeue operations on queues, where k is a global parameter. <syntaxhighlight lang="c"> MultiDequeue(Q){ m = k while (Q is not empty) and (m > 0) { Dequeue(Q) m = m – 1 } } </syntaxhighlight> What is the worst case time complexity of a sequence of $n$ queue operations on an initially empty queue?

(A) $Θ(n)$

(B) $Θ(n + k)$

(C) $Θ(nk)$

(D) $Θ(n^2)$


Solution

There are three possible operations on queue- Enqueue, Dequeue and MultiDequeue. MultiDequeue is calling Dequeue multiple times based on a global variable k. But since, the queue is initially empty, whatever be the order of these operations, there cannot be more no. of Dequeue operations than Enqueue. Hence, the total no. operations will be n only.




blog comments powered by Disqus

Consider the following operation along with Enqueue and Dequeue operations on queues, where k is a global parameter. <syntaxhighlight lang="c"> MultiDequeue(Q){ m = k while (Q is not empty) and (m > 0) { Dequeue(Q) m = m – 1 } } </syntaxhighlight> What is the worst case time complexity of a sequence of $n$ queue operations on an initially empty queue?

(A) $Θ(n)$

(B) $Θ(n + k)$

(C) $Θ(nk)$

(D) $Θ(n^2)$


Solution[edit]

There are three possible operations on queue- Enqueue, Dequeue and MultiDequeue. MultiDequeue is calling Dequeue multiple times based on a global variable k. But since, the queue is initially empty, whatever be the order of these operations, there cannot be more no. of Dequeue operations than Enqueue. Hence, the total no. operations will be n only.




blog comments powered by Disqus