algorithm

Q1)
Show, by applying the limit test, that each of the following is true.
a) The functions f(n)= n(n-1)/2 and g(n)= n^2 grow asymptotically at equal rate.
b) The functions f(n)=log n grow asymptotically at slower rate than g(n)=n.

Q2)
Show that log (n!) = Θ (nlog n);

Q3)
Design an algorithm that uses comparisons to select the largest and the
second largest of n elements. Find the time complexity of your algroithm
(expressed using the big-O notation).

Q4)
Given an a binary array or list of n elements, where each element is either
a 0 or 1, we would like to arrange the elements so that all of those that
are equal to 0's appear first followed by all the elements that are equal
to 1's.

a) Write an algroithm or a function that uses comparisons to arrange the
elements as given above. Do not use any extra arrays in your algorithm.

b) Find the time, T(n), needed by your algorithm in the worst-case and
then express it using the big-O notation.

c) Find the time, T(n), needed by your algorithm in the best-case and
then express it using the big-Ω notation.

d) Find the time, T(n), needed by your algorithm in the average-case
and express it using the big-Θ notation.