Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Partitioning in Quicksort How do we partition in-place efficiently? n Partition element = rightmost element. n Scan from left for larger element. n Scan.

Similar presentations


Presentation on theme: "1 Partitioning in Quicksort How do we partition in-place efficiently? n Partition element = rightmost element. n Scan from left for larger element. n Scan."— Presentation transcript:

1 1 Partitioning in Quicksort How do we partition in-place efficiently? n Partition element = rightmost element. n Scan from left for larger element. n Scan from right for smaller element. n Exchange. n Repeat until pointers cross. QUICKSORTISCOOL partitioned partition elementleft right unpartitioned

2 2 Partitioning in Quicksort swap me partitioned partition elementleft right unpartitioned QUICKSORTISCOOL How do we partition in-place efficiently? n Partition element = rightmost element. n Scan from left for larger element. n Scan from right for smaller element. n Exchange. n Repeat until pointers cross.

3 3 Partitioning in Quicksort partitioned partition elementleft right unpartitioned swap me QUICKSORTISCOOL How do we partition in-place efficiently? n Partition element = rightmost element. n Scan from left for larger element. n Scan from right for smaller element. n Exchange. n Repeat until pointers cross.

4 4 Partitioning in Quicksort partitioned partition elementleft right unpartitioned swap me QUICKSORTISCOOL How do we partition in-place efficiently? n Partition element = rightmost element. n Scan from left for larger element. n Scan from right for smaller element. n Exchange. n Repeat until pointers cross.

5 5 Partitioning in Quicksort partitioned partition elementleft right unpartitioned swap me QUICKSORTISCOOL How do we partition in-place efficiently? n Partition element = rightmost element. n Scan from left for larger element. n Scan from right for smaller element. n Exchange. n Repeat until pointers cross.

6 6 Partitioning in Quicksort partitioned partition elementleft right unpartitioned CUICKSORTISQOOL How do we partition in-place efficiently? n Partition element = rightmost element. n Scan from left for larger element. n Scan from right for smaller element. n Exchange. n Repeat until pointers cross.

7 7 Partitioning in Quicksort swap me partitioned partition elementleft right unpartitioned CUICKSORTISQOOL How do we partition in-place efficiently? n Partition element = rightmost element. n Scan from left for larger element. n Scan from right for smaller element. n Exchange. n Repeat until pointers cross.

8 8 Partitioning in Quicksort partitioned partition elementleft right unpartitioned swap me CUICKSORTISQOOL How do we partition in-place efficiently? n Partition element = rightmost element. n Scan from left for larger element. n Scan from right for smaller element. n Exchange. n Repeat until pointers cross.

9 9 Partitioning in Quicksort partitioned partition elementleft right unpartitioned swap me CUICKSORTISQOOL How do we partition in-place efficiently? n Partition element = rightmost element. n Scan from left for larger element. n Scan from right for smaller element. n Exchange. n Repeat until pointers cross.

10 10 Partitioning in Quicksort partitioned partition elementleft right unpartitioned CIICKSORTUSQOOL How do we partition in-place efficiently? n Partition element = rightmost element. n Scan from left for larger element. n Scan from right for smaller element. n Exchange. n Repeat until pointers cross.

11 11 Partitioning in Quicksort partitioned partition elementleft right unpartitioned CIICKSORTUSQOOL How do we partition in-place efficiently? n Partition element = rightmost element. n Scan from left for larger element. n Scan from right for smaller element. n Exchange. n Repeat until pointers cross.

12 12 Partitioning in Quicksort partitioned partition elementleft right unpartitioned CIICKSORTUSQOOL How do we partition in-place efficiently? n Partition element = rightmost element. n Scan from left for larger element. n Scan from right for smaller element. n Exchange. n Repeat until pointers cross.

13 13 Partitioning in Quicksort partitioned partition elementleft right unpartitioned CIICKSORTUSQOOL How do we partition in-place efficiently? n Partition element = rightmost element. n Scan from left for larger element. n Scan from right for smaller element. n Exchange. n Repeat until pointers cross.

14 14 Partitioning in Quicksort swap me partitioned partition elementleft right unpartitioned CIICKSORTUSQOOL How do we partition in-place efficiently? n Partition element = rightmost element. n Scan from left for larger element. n Scan from right for smaller element. n Exchange. n Repeat until pointers cross.

15 15 Partitioning in Quicksort partitioned partition elementleft right unpartitioned swap me CIICKSORTUSQOOL How do we partition in-place efficiently? n Partition element = rightmost element. n Scan from left for larger element. n Scan from right for smaller element. n Exchange. n Repeat until pointers cross.

16 16 Partitioning in Quicksort partitioned partition elementleft right unpartitioned swap me CIICKSORTUSQOOL How do we partition in-place efficiently? n Partition element = rightmost element. n Scan from left for larger element. n Scan from right for smaller element. n Exchange. n Repeat until pointers cross.

17 17 Partitioning in Quicksort partitioned partition elementleft right unpartitioned swap me CIICKSORTUSQOOL How do we partition in-place efficiently? n Partition element = rightmost element. n Scan from left for larger element. n Scan from right for smaller element. n Exchange. n Repeat until pointers cross.

18 18 Partitioning in Quicksort pointers cross swap with partitioning element partitioned partition elementleft right unpartitioned CIICKSORTUSQOOL How do we partition in-place efficiently? n Partition element = rightmost element. n Scan from left for larger element. n Scan from right for smaller element. n Exchange. n Repeat until pointers cross.

19 19 Partitioning in Quicksort partitioned partition elementleft right unpartitioned partition is complete CIICKLORTUSQOOS How do we partition in-place efficiently? n Partition element = rightmost element. n Scan from left for larger element. n Scan from right for smaller element. n Exchange. n Repeat until pointers cross.


Download ppt "1 Partitioning in Quicksort How do we partition in-place efficiently? n Partition element = rightmost element. n Scan from left for larger element. n Scan."

Similar presentations


Ads by Google