applications of stacks and their uses?
Answer Posted / shreyank
Keeping track of nested invocation calls in a procedural
programming language, such as C/C++.
Each function call results in a new entry being placed into
the program run-time stack. This new
entry contains memory space for local variables (which can
grow dynamically) and for a return
pointer to the instruction in the function that invoked the
current function (caller/callee). As
functions terminate, their stack entry is "popped out," with
the return values written to the proper
location in the caller.
Since nested procedural/ function invocation levels are
entered and exited in LIFO order, a stack
is the most appropriate data structure to handle this
functionality.
Evaluating arithmetic expressions.
Stacks can be used to parse arithmetic expressions and
evaluate them efficiently, as we shall
see as part of this assignment.
To eliminate the need for direct implementation of recursion.
As recursive function calls require a lot of overhead, it is
often the case that recursive algorithms
are "unrolled" into non-recursive ones. Since recursive
calls are entered/exited in LIFO order the
use of stacks to mimic recursion is a natural choice.
| Is This Answer Correct ? | 6 Yes | 0 No |
Post New Answer View All Answers
What are the advantages of linked list over an array?
What are the advantages of stack?
How do you sort in ascending order in arraylist?
What is default size of hashmap?
List the two important key points of depth first search?
What are the basic data structures?
Write an algorithm to show various operations on ordered list and arrays
What is binary tree in discrete mathematics?
How many types of sorting algorithms are there?
What is priority queue in data structure?
Describe what is Node in link list? And name the types of Linked Lists?
Can a class have a constructor?
Does set allow null values?
Can arraylist hold duplicates?
which notations are used in evaluation of arithmetic expressions using prefix and postfix forms?