(a) Describe and illustrate how elements are normally added and removed from an efficient implementation of the stack ADT, as defined in class, which is implemented using linked lists.
(b) A stack is used to evaluate the following postfix expression. Show the state of the stack after the minus sign is processed and its state after the multiplication sign is processed.
3 5 3 + 4 + - 6 *
(c) An array can be used to hold a complete or full binary tree. Explain how this data structure would be set up and how a node's left and right children could be reached. What changes would be needed if there was a requirement to handle non-full, non-complete binary trees?
Can you please explain these?