Question:
(a) (i) What is recursion?
(ii) What advantage is there in its use?
(iii) What disadvantage is there in its use?
(b) The factorial of a positive number can be computed using the formula n ! = 1 × 2 × 3 ×..........× n
However, the function ‘factorial' can also be defined as a recursive function in programming exercises.
Write down the main part of the program which contains the following:
(i) the function prototype
(ii) declare a positive integer variable n
(iii) an output statement to display n
(iv) an input statement to allow a user to enter a number (which is stored in variable n)
(v) another output statement that calculates and displays the factorial of the number.
Now write down the function using recursion.
(c) (i) Explain why a linked list is called dynamic data structure?
(ii) What are the three most important advantages of using linked list over arrays?
(iii) State one disadvantage of using linked list in programs.
(d) A stack is also a dynamic data structure which can be implemented in its simplest way by making use of arrays.
Declare a structure containing
(i) an integer array to hold the elements of the stack
(ii) an integer to indicate the position of the current stack top within the array.
Now write the ‘pop' operation to remove the top element from the stack. Write the ‘push' operation to add an element to the stack.