Quick Sort
Quick Sort
• Currently processing
I0 I1 I2 I3 I4 I5 Next
4 6 12 3 2 10 qsort(0,5)
4 3 2 10 12 6 swap 0,2
2 3 4 10 12 6 partition k=2
2 3 4 10 12 6 qsort(0,1)
qsort(3,5)
2 3 4 10 12 6 swap 0,0
2 3 4 10 12 6 partition K=0
2 3 4 10 12 6 qsort(0,-1)
qsort(1,1)
2 3 4 10 12 6 qsort(0,1)
qsort(3,5)
2 3 4 10 6 12 swap 3,4
2 3 4 6 10 12 partition k=4
2 3 4 6 10 12 qsort(3,3)
qsort(5,5)
2 3 4 6 10 12 qsort(5,5)
2 3 4 6 10 12
Quick Sort Program
Quick Sort Example
• Already processed or sorted
• Currently processing
I0 I1 I2 I3 I4 I5 Next
4 6 12 3 2 10 qsort(0,5)
4 3 2 10 12 6 swap 0,2
2 3 4 10 12 6 partition k=2
2 3 4 10 12 6 qsort(0,1)
qsort(3,5)
2 3 4 10 12 6 swap 0,0
2 3 4 10 12 6 partition K=0
2 3 4 10 12 6 qsort(0,-1)
qsort(1,1)
2 3 4 10 12 6 qsort(0,1)
qsort(3,5)
2 3 4 10 6 12 swap 3,4
2 3 4 6 10 12 partition k=4
2 3 4 6 10 12 qsort(3,3)
qsort(5,5)
2 3 4 6 10 12 qsort(5,5)
2 3 4 6 10 12
Quick Sort Analysis
• Running time:
= 1+c. = O(n2)