This assignment isdue on March17 and should be submitted on Gradescope.All submitted work must bedone individuallywithout consulting someone else’s so-lutions in accordance with the University’s “Academic Dishonesty and Plagiarism”policies.
As a first step go to the last page and read the section: Advice on how to do theassignment.
UsingO-notation, upperbound the running time of the following algorithm, whereAis an array containingnintegers. You can assume that mod is a basic mathemat-ical operation that takesO(1) time.
We want to build a stack for integer elements that in addition to the operations wesaw during the lecture (push(e),pop(),top(),size(), andisEmpty()), also supportsagetMinimum() operation that returns the minimum value of all elements storedin the stack. All operations should run inO(1)time. Your data structure shouldtakeO(n)space, wherenis the number of elements currently stored in the datastructure.
getMinimum() returns4 [23,4]
pop() returns4 
getMinimum() returns23 
Your task is to:
a)Design a data structure that supports the required operations in the requiredtime and space.
b)Briefly argue the correctness of your data structure and operations.
c)Analyse the running time of your operations and space of your data structure.