Use two stack :-
 One stack is used for inserting and deleting the elements in the stack  ,
supposing the the addition and deletion is done at the end of the stack .
So it will be of in constant time .

 The Second Stack is used keeping track of the  smallest number .

 For finding the element we need to used Separate Channing in hashing .

  Take the element to be added suppose (N).
   Now  compare the top element of second stack (suppose X)  with N .

   If (N < X) Added N to both the Stack  .
  else if  (N > X) Added N to the first Stack .

 When the element(N) is removed from the top of the first stack. Then
compare it with the second stack (X) .
   If (N = X) Remove N from both the Stack  .


The Second stack will ensure that on removing or adding an element in the
stack , The second stack will let u know the smallest element .

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to