GATE CSE
First time here? Checkout the FAQ!
x
+1 vote
357 views
Which of the following statement is/are correct?

1. If we use only Front pointer in queue, then insertion takes O(n) time while deletion in O(1) time.

2. If we use only Rear pointer in queue, then insertion is O(1) and deletion is not possible.
asked in DS by Loyal (2.7k points)   | 357 views
Tushar.... What type of Data structure you are assuming in thus scenario?
it should be linked list

2 Answers

0 votes

What u are talking about is not implemented in simple queue.

so both are false.

1..If we use only Front pointer in queue, then insertion takes O(n) time while deletion in O(1) time.  flase.

Deletion in O(1) time thats ok but if 1st element insert then u can delete second in O(1) time.

2..If we use only Rear pointer in queue, then insertion is O(1) and deletion is not possible.

insertion not possible b/c u can go in left direction in simple queue.

 

answered by Veteran (48.5k points)  
0 votes

Both 1st and 2nd statements are Correct only if we are using Simple List for queue implementation.

But only 1st statement is Correct if we are using Circular List for queue implementation.

In Simple list, if only FRONT is available we can perform delete operation in O(1) time and insert operation (using an extra pointer temp) in O(n) time.

In Simple list, if only REAR is available we can only perform insertion operation in O(1) time but no delete operation.

Its because, in simple list, Front/Rear pointer only moves in forward direction. Never backward. 

BUT In Circular list, If only FRONT is available again we can perform delete operation in O(1) time and insert operation (using an extra pointer temp) in O(n) time.

While If only REAR is available then both Insertion and deletion can be performed in O(1) time in Circular list.

Example : While using REAR in Circular list.

Insertion : 

newNode --> next = rear --> next;

rear --> next = newNode;

rear = newNode;

Deletion :

temp = rear --> next;

rear --> next = temp --> next;

free(temp);

 

 

 

answered by Junior (517 points)  
edited by


Top Users Aug 2017
  1. ABKUNDAN

    4670 Points

  2. Bikram

    4556 Points

  3. akash.dinkar12

    3420 Points

  4. rahul sharma 5

    3124 Points

  5. manu00x

    2864 Points

  6. makhdoom ghaya

    2450 Points

  7. just_bhavana

    2136 Points

  8. Tesla!

    2042 Points

  9. stblue

    1930 Points

  10. joshi_nitish

    1686 Points


24,970 questions
32,072 answers
74,567 comments
30,150 users