Download presentation
Presentation is loading. Please wait.
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.
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.