It'll be hard to understand numbers 3 and 4 until you're solid on the others. I'd suggest looking closely at the definition of recursion. A solid understanding of recursion is crucial to a lot of computer science.
But for answers, if it helps at all:
Can we use recursive algorithm to find the greatest element of a finite list when numbers are unsorted.
first = list
remaining = list[1:]
if remaining exists:
return max(first, greatest(remaining))
How to use recursive algorithm to find the least element of a finite list of unsorted numbers where repetitions of number is allowed.
Exactly the same as above, but use
min instead of
How can Mergesort calls itself n^2 times on a list with n numbers.
It doesn't. Mergesort runs in $O(n \log n)$. Are you thinking of Quicksort?
Is it true if the input list has only 3 numbers, then Mergesort does not need the merging step.
Depends on your implementation. The simple cases of algorithms, when $n$ is so far, tend not to be interesting—but have a lot of potential for bugs. So if I were writing Mergesort, I'd start with something like "if you have less than five numbers, do it by brute force (which is $O(1)$ since we have an upper bound on $n$)".
Can we find number of elements in a finite list with a recursive algorithm.
if list does not exist: return 0
return 1 + count_elements(list[1:])