Рубрики

ВОРОТА | GATE-CS-2006 | Вопрос 49

Реализация очереди Q с использованием двух стеков S1 и S2 приведена ниже:

void insert(Q, x) {

   push (S1, x);

}

   

void delete(Q){

   if(stack-empty(S2)) then 

      if(stack-empty(S1)) then {

          print(“Q is empty”);

          return;

      }

      else while (!(stack-empty(S1))){

          x=pop(S1);

          push(S2,x);

      }

   x=pop(S2);

}

Пусть n операций вставки и m (<= n) удаления будут выполняться в произвольном порядке в пустой очереди Q. Пусть x и y будут количеством операций push и pop, выполненных соответственно в процессе. Что из следующего верно для всех m и n?
(A) n + m <= x <2n и 2m <= y <= n + m
(B) n + m <= x <2n и 2m <= y <= 2n
(C) 2m <= x <2n и 2m <= y <= n + m
(D) 2m <= x <2n и 2m <= y <= 2n

Ответ: (А)
Пояснение: То же, что http://quiz.geeksforgeeks.org/data-structures-queue-question-10/
Тест на этот вопрос

Рекомендуемые посты:

ВОРОТА | GATE-CS-2006 | Вопрос 49

0.00 (0%) 0 votes