DAA Quick Sort
DAA Quick Sort
Quick sort
It is an algorithm of Divide & Conquer type.
Divide: Rearrange the elements and split arrays into two sub-arrays and
an element in between search that each element in left sub array is less
than or equal to the average element and each element in the right sub-
array is larger than the middle element.
Algorithm:
QUICKSORT (array A, int m, int n)
1 if (n > m)
2 then
3 i ← a random index from [m,n]
4 swap A [i] with A[m]
5 o ← PARTITION (A, m, n)
6 QUICKSORT (A, m, o - 1)
7 QUICKSORT (A, o + 1, n)
Partition Algorithm:
Partition algorithm rearranges the sub arrays in a place.
PARTITION (array A, int m, int n)
1 x ← A[m]
2 o ← m
3 for p ← m + 1 to n
4 do if (A[p] < x)
5 then o ← o + 1
6 swap A[o] with A[p]
7 swap A[m] with A[o]
8 return o
44 33 11 55 77 90 40 60 99 22 88
Let 44 be the Pivot element and scanning done from right to left
22 33 11 55 77 90 40 60 99 44 88
Now comparing 44 to the left side element and the element must be
greater than 44 then swap them. As 55 are greater than 44 so swap
them.
22 33 11 44 77 90 40 60 99 55 88
Recursively, repeating steps 1 & steps 2 until we get two lists one left
from pivot element 44 & one right from pivot element.
22 33 11 40 77 90 44 60 99 55 88
22 33 11 40 44 90 77 60 99 55 88
Now, the element on the right side and left side are greater than and
smaller than 44 respectively.
And these sublists are sorted under the same process as above done.
Merging Sublists:
SORTED LISTS
Worst Case Analysis: It is the case when items are already in sorted form
and we try to sort them again. This will takes lots of time and space.
Equation:
T (n) =T(1)+T(n-1)+n
Generally, we assume the first element of the list as the pivot element. In
an average Case, the number of chances to get a pivot element is equal
to the number of items.
Let total time taken =T (n)
For eg: In a given list
p 1, p 2, p 3, p 4............pn
If p 1 is the pivot list then we have 2 lists.
I.e. T (0) and T (n-1)
If p2 is the pivot list then we have 2 lists.
I.e. T (1) and T (n-2)
p 1, p 2, p 3, p 4............pn
If p3 is the pivot list then we have 2 lists.
I.e. T (2) and T (n-3)
p 1, p 2, p 3, p 4............p n
Then,
Pivot element will do n comparison and we are doing average case so,
= n+1 + (T(0)+T(1)+T(2)+...T(n-1)+T(n-2)+T(n-3)+...T(0))
= n+1 + x2 (T(0)+T(1)+T(2)+...T(n-2)+T(n-1))
n T (n) = n (n+1) +2 (T(0)+T(1)+T(2)+...T(n-1)........eq 1
Put n=n-1 in eq 1
(n -1) T (n-1) = (n-1) n+2 (T(0)+T(1)+T(2)+...T(n-2)......eq2
n T(n)=[2+(n-1)]T(n-1)+2n
Put n=n-1 in eq 3
Put 4 eq in 3 eq
Put n=n-2 in eq 3
Put 6 eq in 5 eq
Put n=n-3 in eq 3
Put 8 eq in 7 eq
From 10 eq
3. Quick Sort [Best Case]: In any sorting, best case is the only case in
which we don't make any comparison between elements that is only
done when we have only one element to sort.
← Prev
Next →
Youtube
For Videos Join Our Youtube Channel: Join
Now
Feedback
Regex R
tutorial Reinforcement Programming
learning tutorial
Regex
tutorial
R Programming
Reinforcement
Learning
Preparation
Trending Technologies
B.Tech / MCA