What will be the change in complexity if we will choose 2 and 3 pivots in the quicksort algorithm

Q:

What will be the change in complexity if we will choose 2 and 3 pivots in the quicksort algorithm ?
The exact complexity and why ??

 

A:

if we use 2 element as a pivot (suppose 1st and last element) then we partisan the array into three part and we use quick shot in every partisan

So the new recurrence relation became

T(n) = 3 x T(n/3) + O(n)
we assume the array partisan in equal parts and finding the exact position of pivot is O(n)
now applying master theorem f(n) = O(n); a=3; b=3; 
f(n) = O(n ^ (log a/log b))

so complexity is O(nlogn)

Now if we take k-1 pivot element the partisan the array in k part so
T()= k x T(n/k) + O(n)
which complexity is also O(n long)

so irrespective of how many partisan we do the complexity of quick sort remains same.

posted @ 2012-06-25 10:55  百分百好牛  阅读(197)  评论(0编辑  收藏  举报