![Page 1: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/1.jpg)
QuickSort
Parosh Aziz Abdulla
Uppsala University
September 12, 2012
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 1 / 7
![Page 2: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/2.jpg)
1 The Partition Procedure
2 Algorithm
3 Worst-Case Behavior
4 Best-Case Behavior
5 Randomized QuickSort
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 2 / 7
![Page 3: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/3.jpg)
The Partition Procedure
Partition
Partition(A, p, r)
1 x ← A[r ]2 i ← p − 13 for j ← p to r − 14 do if A[j] ≤ x5 then i ← i + 16 exchange A[i ]↔ A[j]7 exchange A[i + 1]↔ A[r ]8 return i + 1
2 9 8 1 3 6 7 5
i
jp r
2 9 8 1 3 6 7 5
ip j r
2 9 8 1 3 6 7 5
ip j r
2 9 8 1 3 6 7 5
ip j r
2 1 8 9 3 6 7 5
p i j r
2 1 3 9 8 6 7 5
p i j r
2 1 3 9 8 6 7 5
p i j r
2 1 3 9 8 6 7 5
p i r
2 1 3 5 8 6 7 9
p i r
Partition(A, 1, 8)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 3 / 7
![Page 4: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/4.jpg)
The Partition Procedure
Partition
Partition(A, p, r)
1 x ← A[r ]2 i ← p − 13 for j ← p to r − 14 do if A[j] ≤ x5 then i ← i + 16 exchange A[i ]↔ A[j]7 exchange A[i + 1]↔ A[r ]8 return i + 1
2 9 8 1 3 6 7 5
i
jp r
2 9 8 1 3 6 7 5
ip j r
2 9 8 1 3 6 7 5
ip j r
2 9 8 1 3 6 7 5
ip j r
2 1 8 9 3 6 7 5
p i j r
2 1 3 9 8 6 7 5
p i j r
2 1 3 9 8 6 7 5
p i j r
2 1 3 9 8 6 7 5
p i r
2 1 3 5 8 6 7 9
p i r
Partition(A, 1, 8)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 3 / 7
![Page 5: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/5.jpg)
The Partition Procedure
Partition
Partition(A, p, r)
1 x ← A[r ]2 i ← p − 13 for j ← p to r − 14 do if A[j] ≤ x5 then i ← i + 16 exchange A[i ]↔ A[j]7 exchange A[i + 1]↔ A[r ]8 return i + 1
2 9 8 1 3 6 7 5
i
jp r
2 9 8 1 3 6 7 5
ip j r
2 9 8 1 3 6 7 5
ip j r
2 9 8 1 3 6 7 5
ip j r
2 1 8 9 3 6 7 5
p i j r
2 1 3 9 8 6 7 5
p i j r
2 1 3 9 8 6 7 5
p i j r
2 1 3 9 8 6 7 5
p i r
2 1 3 5 8 6 7 9
p i r
Partition(A, 1, 8)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 3 / 7
![Page 6: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/6.jpg)
The Partition Procedure
Partition
Partition(A, p, r)
1 x ← A[r ]2 i ← p − 13 for j ← p to r − 14 do if A[j] ≤ x5 then i ← i + 16 exchange A[i ]↔ A[j]7 exchange A[i + 1]↔ A[r ]8 return i + 1
2 9 8 1 3 6 7 5
i
jp r
2 9 8 1 3 6 7 5
ip j r
2 9 8 1 3 6 7 5
ip j r
2 9 8 1 3 6 7 5
ip j r
2 1 8 9 3 6 7 5
p i j r
2 1 3 9 8 6 7 5
p i j r
2 1 3 9 8 6 7 5
p i j r
2 1 3 9 8 6 7 5
p i r
2 1 3 5 8 6 7 9
p i r
Partition(A, 1, 8)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 3 / 7
![Page 7: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/7.jpg)
The Partition Procedure
Partition
Partition(A, p, r)
1 x ← A[r ]2 i ← p − 13 for j ← p to r − 14 do if A[j] ≤ x5 then i ← i + 16 exchange A[i ]↔ A[j]7 exchange A[i + 1]↔ A[r ]8 return i + 1
2 9 8 1 3 6 7 5
i
jp r
2 9 8 1 3 6 7 5
ip j r
2 9 8 1 3 6 7 5
ip j r
2 9 8 1 3 6 7 5
ip j r
2 1 8 9 3 6 7 5
p i j r
2 1 3 9 8 6 7 5
p i j r
2 1 3 9 8 6 7 5
p i j r
2 1 3 9 8 6 7 5
p i r
2 1 3 5 8 6 7 9
p i r
Partition(A, 1, 8)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 3 / 7
![Page 8: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/8.jpg)
The Partition Procedure
Partition
Partition(A, p, r)
1 x ← A[r ]2 i ← p − 13 for j ← p to r − 14 do if A[j] ≤ x5 then i ← i + 16 exchange A[i ]↔ A[j]7 exchange A[i + 1]↔ A[r ]8 return i + 1
2 9 8 1 3 6 7 5
i
jp r
2 9 8 1 3 6 7 5
ip j r
2 9 8 1 3 6 7 5
ip j r
2 9 8 1 3 6 7 5
ip j r
2 1 8 9 3 6 7 5
p i j r
2 1 3 9 8 6 7 5
p i j r
2 1 3 9 8 6 7 5
p i j r
2 1 3 9 8 6 7 5
p i r
2 1 3 5 8 6 7 9
p i r
Partition(A, 1, 8)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 3 / 7
![Page 9: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/9.jpg)
The Partition Procedure
Partition
Partition(A, p, r)
1 x ← A[r ]2 i ← p − 13 for j ← p to r − 14 do if A[j] ≤ x5 then i ← i + 16 exchange A[i ]↔ A[j]7 exchange A[i + 1]↔ A[r ]8 return i + 1
2 9 8 1 3 6 7 5
i
jp r
2 9 8 1 3 6 7 5
ip j r
2 9 8 1 3 6 7 5
ip j r
2 9 8 1 3 6 7 5
ip j r
2 1 8 9 3 6 7 5
p i j r
2 1 3 9 8 6 7 5
p i j r
2 1 3 9 8 6 7 5
p i j r
2 1 3 9 8 6 7 5
p i r
2 1 3 5 8 6 7 9
p i r
Partition(A, 1, 8)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 3 / 7
![Page 10: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/10.jpg)
The Partition Procedure
Partition
Partition(A, p, r)
1 x ← A[r ]2 i ← p − 13 for j ← p to r − 14 do if A[j] ≤ x5 then i ← i + 16 exchange A[i ]↔ A[j]7 exchange A[i + 1]↔ A[r ]8 return i + 1
2 9 8 1 3 6 7 5
i
jp r
2 9 8 1 3 6 7 5
ip j r
2 9 8 1 3 6 7 5
ip j r
2 9 8 1 3 6 7 5
ip j r
2 1 8 9 3 6 7 5
p i j r
2 1 3 9 8 6 7 5
p i j r
2 1 3 9 8 6 7 5
p i j r
2 1 3 9 8 6 7 5
p i r
2 1 3 5 8 6 7 9
p i r
Partition(A, 1, 8)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 3 / 7
![Page 11: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/11.jpg)
The Partition Procedure
Partition
Partition(A, p, r)
1 x ← A[r ]2 i ← p − 13 for j ← p to r − 14 do if A[j] ≤ x5 then i ← i + 16 exchange A[i ]↔ A[j]7 exchange A[i + 1]↔ A[r ]8 return i + 1
2 9 8 1 3 6 7 5
i
jp r
2 9 8 1 3 6 7 5
ip j r
2 9 8 1 3 6 7 5
ip j r
2 9 8 1 3 6 7 5
ip j r
2 1 8 9 3 6 7 5
p i j r
2 1 3 9 8 6 7 5
p i j r
2 1 3 9 8 6 7 5
p i j r
2 1 3 9 8 6 7 5
p i r
2 1 3 5 8 6 7 9
p i r
Partition(A, 1, 8)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 3 / 7
![Page 12: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/12.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)(A,1,10)(A,1,10)
(A,1,3)(A,1,3)
(A,1,1)(A,1,1) (A,3,3)(A,3,3)
(A,5,10)(A,5,10)
(A,5,6)(A,5,6)
(A,5,4)(A,5,4) (A,6,6)(A,6,6)
(A,8,10)(A,8,10)
(A,8,7)(A,8,7) (A,9,10)(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 13: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/13.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)(A,1,10)(A,1,10)
(A,1,3)(A,1,3)
(A,1,1)(A,1,1) (A,3,3)(A,3,3)
(A,5,10)(A,5,10)
(A,5,6)(A,5,6)
(A,5,4)(A,5,4) (A,6,6)(A,6,6)
(A,8,10)(A,8,10)
(A,8,7)(A,8,7) (A,9,10)(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 14: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/14.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)
QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)(A,1,3)
(A,1,1)(A,1,1) (A,3,3)(A,3,3)
(A,5,10)(A,5,10)
(A,5,6)(A,5,6)
(A,5,4)(A,5,4) (A,6,6)(A,6,6)
(A,8,10)(A,8,10)
(A,8,7)(A,8,7) (A,9,10)(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 15: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/15.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)
QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)
Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)(A,1,3)
(A,1,1)(A,1,1) (A,3,3)(A,3,3)
(A,5,10)(A,5,10)
(A,5,6)(A,5,6)
(A,5,4)(A,5,4) (A,6,6)(A,6,6)
(A,8,10)(A,8,10)
(A,8,7)(A,8,7) (A,9,10)(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 16: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/16.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)
QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)
Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)(A,1,3)
(A,1,1)(A,1,1) (A,3,3)(A,3,3)
(A,5,10)(A,5,10)
(A,5,6)(A,5,6)
(A,5,4)(A,5,4) (A,6,6)(A,6,6)
(A,8,10)(A,8,10)
(A,8,7)(A,8,7) (A,9,10)(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 17: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/17.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)(A,1,1) (A,3,3)(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)(A,5,6)
(A,5,4)(A,5,4) (A,6,6)(A,6,6)
(A,8,10)(A,8,10)
(A,8,7)(A,8,7) (A,9,10)(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 18: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/18.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)
QuickSort(A, 1, 3)
QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)(A,1,1) (A,3,3)(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)(A,5,6)
(A,5,4)(A,5,4) (A,6,6)(A,6,6)
(A,8,10)(A,8,10)
(A,8,7)(A,8,7) (A,9,10)(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 19: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/19.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)
QuickSort(A, 1, 3)
QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)
Partition(A, 1, 3)
Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)(A,1,1) (A,3,3)(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)(A,5,6)
(A,5,4)(A,5,4) (A,6,6)(A,6,6)
(A,8,10)(A,8,10)
(A,8,7)(A,8,7) (A,9,10)(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 20: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/20.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)
QuickSort(A, 1, 3)
QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)
Partition(A, 1, 3)
Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)(A,1,1) (A,3,3)(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)(A,5,6)
(A,5,4)(A,5,4) (A,6,6)(A,6,6)
(A,8,10)(A,8,10)
(A,8,7)(A,8,7) (A,9,10)(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 21: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/21.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1)
(A,3,3)
(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)(A,5,6)
(A,5,4)(A,5,4) (A,6,6)(A,6,6)
(A,8,10)(A,8,10)
(A,8,7)(A,8,7) (A,9,10)(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 22: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/22.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)
QuickSort(A, 1, 1)
QuickSort(A, 3, 3)QuickSort(A, 5, 10)QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1)
(A,3,3)
(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)(A,5,6)
(A,5,4)(A,5,4) (A,6,6)(A,6,6)
(A,8,10)(A,8,10)
(A,8,7)(A,8,7) (A,9,10)(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 23: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/23.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1)
(A,3,3)
(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)(A,5,6)
(A,5,4)(A,5,4) (A,6,6)(A,6,6)
(A,8,10)(A,8,10)
(A,8,7)(A,8,7) (A,9,10)(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 24: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/24.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)QuickSort(A, 1, 1)
QuickSort(A, 3, 3)
QuickSort(A, 5, 10)QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1)
(A,3,3)
(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)(A,5,6)
(A,5,4)(A,5,4) (A,6,6)(A,6,6)
(A,8,10)(A,8,10)
(A,8,7)(A,8,7) (A,9,10)(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 25: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/25.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1) (A,3,3)
(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)(A,5,6)
(A,5,4)(A,5,4) (A,6,6)(A,6,6)
(A,8,10)(A,8,10)
(A,8,7)(A,8,7) (A,9,10)(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 26: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/26.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)
QuickSort(A, 5, 10)
QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1) (A,3,3)
(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)(A,5,6)
(A,5,4)(A,5,4) (A,6,6)(A,6,6)
(A,8,10)(A,8,10)
(A,8,7)(A,8,7) (A,9,10)(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 27: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/27.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)
QuickSort(A, 5, 10)
QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)
Partition(A, 5, 10)
Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1) (A,3,3)
(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)(A,5,6)
(A,5,4)(A,5,4) (A,6,6)(A,6,6)
(A,8,10)(A,8,10)
(A,8,7)(A,8,7) (A,9,10)(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 28: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/28.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)
QuickSort(A, 5, 10)
QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)
Partition(A, 5, 10)
Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1) (A,3,3)
(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)(A,5,6)
(A,5,4)(A,5,4) (A,6,6)(A,6,6)
(A,8,10)(A,8,10)
(A,8,7)(A,8,7) (A,9,10)(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 29: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/29.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1) (A,3,3)
(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)
(A,5,6)
(A,5,4)(A,5,4) (A,6,6)(A,6,6)
(A,8,10)
(A,8,10)
(A,8,7)(A,8,7) (A,9,10)(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 30: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/30.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)
QuickSort(A, 5, 6)
QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1) (A,3,3)
(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)
(A,5,6)
(A,5,4)(A,5,4) (A,6,6)(A,6,6)
(A,8,10)
(A,8,10)
(A,8,7)(A,8,7) (A,9,10)(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 31: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/31.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)
QuickSort(A, 5, 6)
QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)
Partition(A, 5, 6)
Partition(A, 8, 10)Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1) (A,3,3)
(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)
(A,5,6)
(A,5,4)(A,5,4) (A,6,6)(A,6,6)
(A,8,10)
(A,8,10)
(A,8,7)(A,8,7) (A,9,10)(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 32: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/32.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)
QuickSort(A, 5, 6)
QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)
Partition(A, 5, 6)
Partition(A, 8, 10)Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1) (A,3,3)
(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)
(A,5,6)
(A,5,4)(A,5,4) (A,6,6)(A,6,6)
(A,8,10)
(A,8,10)
(A,8,7)(A,8,7) (A,9,10)(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 33: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/33.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1) (A,3,3)
(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)
(A,5,6)
(A,5,4)
(A,5,4)
(A,6,6)
(A,6,6)
(A,8,10)
(A,8,10)
(A,8,7)(A,8,7) (A,9,10)(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 34: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/34.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)QuickSort(A, 5, 6)
QuickSort(A, 5, 4)
QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1) (A,3,3)
(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)
(A,5,6)
(A,5,4)
(A,5,4)
(A,6,6)
(A,6,6)
(A,8,10)
(A,8,10)
(A,8,7)(A,8,7) (A,9,10)(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 35: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/35.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1) (A,3,3)
(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)
(A,5,6)
(A,5,4)
(A,5,4)
(A,6,6)
(A,6,6)
(A,8,10)
(A,8,10)
(A,8,7)(A,8,7) (A,9,10)(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 36: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/36.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)QuickSort(A, 5, 6)QuickSort(A, 5, 4)
QuickSort(A, 6, 6)
QuickSort(A, 8, 10)QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1) (A,3,3)
(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)
(A,5,6)
(A,5,4)
(A,5,4)
(A,6,6)
(A,6,6)
(A,8,10)
(A,8,10)
(A,8,7)(A,8,7) (A,9,10)(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 37: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/37.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1) (A,3,3)
(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)
(A,5,6)
(A,5,4)
(A,5,4) (A,6,6)
(A,6,6)
(A,8,10)
(A,8,10)
(A,8,7)(A,8,7) (A,9,10)(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 38: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/38.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)
QuickSort(A, 8, 10)
QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1) (A,3,3)
(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)
(A,5,6)
(A,5,4)
(A,5,4) (A,6,6)
(A,6,6)
(A,8,10)
(A,8,10)
(A,8,7)(A,8,7) (A,9,10)(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 39: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/39.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)
QuickSort(A, 8, 10)
QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)
Partition(A, 8, 10)
Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1) (A,3,3)
(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)
(A,5,6)
(A,5,4)
(A,5,4) (A,6,6)
(A,6,6)
(A,8,10)
(A,8,10)
(A,8,7)(A,8,7) (A,9,10)(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 40: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/40.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)
QuickSort(A, 8, 10)
QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)
Partition(A, 8, 10)
Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1) (A,3,3)
(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)
(A,5,6)
(A,5,4)
(A,5,4) (A,6,6)
(A,6,6)
(A,8,10)
(A,8,10)
(A,8,7)(A,8,7) (A,9,10)(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 41: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/41.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1) (A,3,3)
(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)
(A,5,6)
(A,5,4)
(A,5,4) (A,6,6)
(A,6,6)
(A,8,10)
(A,8,10)
(A,8,7)
(A,8,7)
(A,9,10)
(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 42: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/42.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)
QuickSort(A, 8, 7)
QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1) (A,3,3)
(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)
(A,5,6)
(A,5,4)
(A,5,4) (A,6,6)
(A,6,6)
(A,8,10)
(A,8,10)
(A,8,7)
(A,8,7)
(A,9,10)
(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 43: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/43.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1) (A,3,3)
(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)
(A,5,6)
(A,5,4)
(A,5,4) (A,6,6)
(A,6,6)
(A,8,10)
(A,8,10)
(A,8,7)
(A,8,7)
(A,9,10)
(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 44: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/44.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)
QuickSort(A, 9, 10)
QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1) (A,3,3)
(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)
(A,5,6)
(A,5,4)
(A,5,4) (A,6,6)
(A,6,6)
(A,8,10)
(A,8,10)
(A,8,7)
(A,8,7)
(A,9,10)
(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 45: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/45.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)
QuickSort(A, 9, 10)
QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)
Partition(A, 9, 10)(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1) (A,3,3)
(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)
(A,5,6)
(A,5,4)
(A,5,4) (A,6,6)
(A,6,6)
(A,8,10)
(A,8,10)
(A,8,7)
(A,8,7)
(A,9,10)
(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 46: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/46.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)
QuickSort(A, 9, 10)
QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)
Partition(A, 9, 10)(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1) (A,3,3)
(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)
(A,5,6)
(A,5,4)
(A,5,4) (A,6,6)
(A,6,6)
(A,8,10)
(A,8,10)
(A,8,7)
(A,8,7)
(A,9,10)
(A,9,10)
(A,9,9)(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 47: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/47.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1) (A,3,3)
(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)
(A,5,6)
(A,5,4)
(A,5,4) (A,6,6)
(A,6,6)
(A,8,10)
(A,8,10)
(A,8,7)
(A,8,7)
(A,9,10)
(A,9,10)
(A,9,9)
(A,9,9)
(A,11,10)
(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 48: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/48.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)QuickSort(A, 9, 10)
QuickSort(A, 9, 9)
QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1) (A,3,3)
(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)
(A,5,6)
(A,5,4)
(A,5,4) (A,6,6)
(A,6,6)
(A,8,10)
(A,8,10)
(A,8,7)
(A,8,7)
(A,9,10)
(A,9,10)
(A,9,9)
(A,9,9)
(A,11,10)
(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 49: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/49.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1) (A,3,3)
(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)
(A,5,6)
(A,5,4)
(A,5,4) (A,6,6)
(A,6,6)
(A,8,10)
(A,8,10)
(A,8,7)
(A,8,7)
(A,9,10)
(A,9,10)
(A,9,9)
(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 50: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/50.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)
QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)
(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1) (A,3,3)
(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)
(A,5,6)
(A,5,4)
(A,5,4) (A,6,6)
(A,6,6)
(A,8,10)
(A,8,10)
(A,8,7)
(A,8,7)
(A,9,10)
(A,9,10)
(A,9,9)
(A,9,9) (A,11,10)(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 51: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/51.jpg)
Algorithm
Quick Sort
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 10)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 10)QuickSort(A, 5, 6)QuickSort(A, 5, 4)QuickSort(A, 6, 6)QuickSort(A, 8, 10)QuickSort(A, 8, 7)QuickSort(A, 9, 10)QuickSort(A, 9, 9)QuickSort(A, 11, 10)
Partition(A, 1, 10)Partition(A, 1, 3)Partition(A, 5, 10)Partition(A, 5, 6)Partition(A, 8, 10)Partition(A, 9, 10)(A,1,10)
(A,1,10)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1) (A,3,3)
(A,3,3)
(A,5,10)
(A,5,10)
(A,5,6)
(A,5,6)
(A,5,4)
(A,5,4) (A,6,6)
(A,6,6)
(A,8,10)
(A,8,10)
(A,8,7)
(A,8,7) (A,9,10)
(A,9,10)
(A,9,9)
(A,9,9) (A,11,10)
(A,11,10)
9
1
9
1
1
1
1
1
1
1
1
1
1
2
1
2
3
2
3
2
3
2
2
2
2
2
3
3
3
3
2
3
2
3
2
3
3
3
3
3
3
3
6
4
6
4
4
4
4
4
8
5
8
5
8
5
8
5
8
5
6
5
6
5
6
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
7
6
7
2
8
2
8
9
8
9
8
9
8
9
8
9
8
9
8
7
8
7
8
5
9
5
9
5
9
5
9
5
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
8
9
4
10
4
10
6
10
6
10
6
10
7
10
7
10
7
10
9
10
9
10
9
10
9
10
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 4 / 7
![Page 52: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/52.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)(A,1,8)
(A,1,7)(A,1,7) (A,9,8)(A,9,8)
(A,1,6)(A,1,6) (A,8,7)(A,8,7)
(A,1,5)(A,1,5) (A,7,6)(A,7,6)
(A,1,4)(A,1,4) (A,6,5)(A,6,5)
(A,1,3)(A,1,3) (A,5,4)(A,5,4)
(A,1,2)(A,1,2) (A,4,3)(A,4,3)
(A,1,1)(A,1,1) (A,3,2)(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 53: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/53.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)(A,1,8)
(A,1,7)(A,1,7) (A,9,8)(A,9,8)
(A,1,6)(A,1,6) (A,8,7)(A,8,7)
(A,1,5)(A,1,5) (A,7,6)(A,7,6)
(A,1,4)(A,1,4) (A,6,5)(A,6,5)
(A,1,3)(A,1,3) (A,5,4)(A,5,4)
(A,1,2)(A,1,2) (A,4,3)(A,4,3)
(A,1,1)(A,1,1) (A,3,2)(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 54: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/54.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)(A,1,7) (A,9,8)(A,9,8)
(A,1,6)(A,1,6) (A,8,7)(A,8,7)
(A,1,5)(A,1,5) (A,7,6)(A,7,6)
(A,1,4)(A,1,4) (A,6,5)(A,6,5)
(A,1,3)(A,1,3) (A,5,4)(A,5,4)
(A,1,2)(A,1,2) (A,4,3)(A,4,3)
(A,1,1)(A,1,1) (A,3,2)(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 55: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/55.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)
QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)(A,1,7) (A,9,8)(A,9,8)
(A,1,6)(A,1,6) (A,8,7)(A,8,7)
(A,1,5)(A,1,5) (A,7,6)(A,7,6)
(A,1,4)(A,1,4) (A,6,5)(A,6,5)
(A,1,3)(A,1,3) (A,5,4)(A,5,4)
(A,1,2)(A,1,2) (A,4,3)(A,4,3)
(A,1,1)(A,1,1) (A,3,2)(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 56: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/56.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)
QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)
Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)(A,1,7) (A,9,8)(A,9,8)
(A,1,6)(A,1,6) (A,8,7)(A,8,7)
(A,1,5)(A,1,5) (A,7,6)(A,7,6)
(A,1,4)(A,1,4) (A,6,5)(A,6,5)
(A,1,3)(A,1,3) (A,5,4)(A,5,4)
(A,1,2)(A,1,2) (A,4,3)(A,4,3)
(A,1,1)(A,1,1) (A,3,2)(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 57: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/57.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)
QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)
Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)(A,1,7) (A,9,8)(A,9,8)
(A,1,6)(A,1,6) (A,8,7)(A,8,7)
(A,1,5)(A,1,5) (A,7,6)(A,7,6)
(A,1,4)(A,1,4) (A,6,5)(A,6,5)
(A,1,3)(A,1,3) (A,5,4)(A,5,4)
(A,1,2)(A,1,2) (A,4,3)(A,4,3)
(A,1,1)(A,1,1) (A,3,2)(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 58: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/58.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)(A,1,6) (A,8,7)(A,8,7)
(A,1,5)(A,1,5) (A,7,6)(A,7,6)
(A,1,4)(A,1,4) (A,6,5)(A,6,5)
(A,1,3)(A,1,3) (A,5,4)(A,5,4)
(A,1,2)(A,1,2) (A,4,3)(A,4,3)
(A,1,1)(A,1,1) (A,3,2)(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 59: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/59.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)
QuickSort(A, 1, 7)
QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)(A,1,6) (A,8,7)(A,8,7)
(A,1,5)(A,1,5) (A,7,6)(A,7,6)
(A,1,4)(A,1,4) (A,6,5)(A,6,5)
(A,1,3)(A,1,3) (A,5,4)(A,5,4)
(A,1,2)(A,1,2) (A,4,3)(A,4,3)
(A,1,1)(A,1,1) (A,3,2)(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 60: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/60.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)
QuickSort(A, 1, 7)
QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)
Partition(A, 1, 7)
Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)(A,1,6) (A,8,7)(A,8,7)
(A,1,5)(A,1,5) (A,7,6)(A,7,6)
(A,1,4)(A,1,4) (A,6,5)(A,6,5)
(A,1,3)(A,1,3) (A,5,4)(A,5,4)
(A,1,2)(A,1,2) (A,4,3)(A,4,3)
(A,1,1)(A,1,1) (A,3,2)(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 61: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/61.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)
QuickSort(A, 1, 7)
QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)
Partition(A, 1, 7)
Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)(A,1,6) (A,8,7)(A,8,7)
(A,1,5)(A,1,5) (A,7,6)(A,7,6)
(A,1,4)(A,1,4) (A,6,5)(A,6,5)
(A,1,3)(A,1,3) (A,5,4)(A,5,4)
(A,1,2)(A,1,2) (A,4,3)(A,4,3)
(A,1,1)(A,1,1) (A,3,2)(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 62: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/62.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)(A,1,5) (A,7,6)(A,7,6)
(A,1,4)(A,1,4) (A,6,5)(A,6,5)
(A,1,3)(A,1,3) (A,5,4)(A,5,4)
(A,1,2)(A,1,2) (A,4,3)(A,4,3)
(A,1,1)(A,1,1) (A,3,2)(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 63: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/63.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)
QuickSort(A, 1, 6)
QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)(A,1,5) (A,7,6)(A,7,6)
(A,1,4)(A,1,4) (A,6,5)(A,6,5)
(A,1,3)(A,1,3) (A,5,4)(A,5,4)
(A,1,2)(A,1,2) (A,4,3)(A,4,3)
(A,1,1)(A,1,1) (A,3,2)(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 64: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/64.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)
QuickSort(A, 1, 6)
QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)
Partition(A, 1, 6)
Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)(A,1,5) (A,7,6)(A,7,6)
(A,1,4)(A,1,4) (A,6,5)(A,6,5)
(A,1,3)(A,1,3) (A,5,4)(A,5,4)
(A,1,2)(A,1,2) (A,4,3)(A,4,3)
(A,1,1)(A,1,1) (A,3,2)(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 65: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/65.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)
QuickSort(A, 1, 6)
QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)
Partition(A, 1, 6)
Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)(A,1,5) (A,7,6)(A,7,6)
(A,1,4)(A,1,4) (A,6,5)(A,6,5)
(A,1,3)(A,1,3) (A,5,4)(A,5,4)
(A,1,2)(A,1,2) (A,4,3)(A,4,3)
(A,1,1)(A,1,1) (A,3,2)(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 66: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/66.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)
(A,1,5) (A,7,6)
(A,7,6)
(A,1,4)(A,1,4) (A,6,5)(A,6,5)
(A,1,3)(A,1,3) (A,5,4)(A,5,4)
(A,1,2)(A,1,2) (A,4,3)(A,4,3)
(A,1,1)(A,1,1) (A,3,2)(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 67: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/67.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)
QuickSort(A, 1, 5)
QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)
(A,1,5) (A,7,6)
(A,7,6)
(A,1,4)(A,1,4) (A,6,5)(A,6,5)
(A,1,3)(A,1,3) (A,5,4)(A,5,4)
(A,1,2)(A,1,2) (A,4,3)(A,4,3)
(A,1,1)(A,1,1) (A,3,2)(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 68: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/68.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)
QuickSort(A, 1, 5)
QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)
Partition(A, 1, 5)
Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)
(A,1,5) (A,7,6)
(A,7,6)
(A,1,4)(A,1,4) (A,6,5)(A,6,5)
(A,1,3)(A,1,3) (A,5,4)(A,5,4)
(A,1,2)(A,1,2) (A,4,3)(A,4,3)
(A,1,1)(A,1,1) (A,3,2)(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 69: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/69.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)
QuickSort(A, 1, 5)
QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)
Partition(A, 1, 5)
Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)
(A,1,5) (A,7,6)
(A,7,6)
(A,1,4)(A,1,4) (A,6,5)(A,6,5)
(A,1,3)(A,1,3) (A,5,4)(A,5,4)
(A,1,2)(A,1,2) (A,4,3)(A,4,3)
(A,1,1)(A,1,1) (A,3,2)(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 70: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/70.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)
(A,1,5) (A,7,6)
(A,7,6)
(A,1,4)
(A,1,4) (A,6,5)
(A,6,5)
(A,1,3)(A,1,3) (A,5,4)(A,5,4)
(A,1,2)(A,1,2) (A,4,3)(A,4,3)
(A,1,1)(A,1,1) (A,3,2)(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 71: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/71.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)
QuickSort(A, 1, 4)
QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)
(A,1,5) (A,7,6)
(A,7,6)
(A,1,4)
(A,1,4) (A,6,5)
(A,6,5)
(A,1,3)(A,1,3) (A,5,4)(A,5,4)
(A,1,2)(A,1,2) (A,4,3)(A,4,3)
(A,1,1)(A,1,1) (A,3,2)(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 72: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/72.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)
QuickSort(A, 1, 4)
QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)
Partition(A, 1, 4)
Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)
(A,1,5) (A,7,6)
(A,7,6)
(A,1,4)
(A,1,4) (A,6,5)
(A,6,5)
(A,1,3)(A,1,3) (A,5,4)(A,5,4)
(A,1,2)(A,1,2) (A,4,3)(A,4,3)
(A,1,1)(A,1,1) (A,3,2)(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 73: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/73.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)
QuickSort(A, 1, 4)
QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)
Partition(A, 1, 4)
Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)
(A,1,5) (A,7,6)
(A,7,6)
(A,1,4)
(A,1,4) (A,6,5)
(A,6,5)
(A,1,3)(A,1,3) (A,5,4)(A,5,4)
(A,1,2)(A,1,2) (A,4,3)(A,4,3)
(A,1,1)(A,1,1) (A,3,2)(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 74: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/74.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)
(A,1,5) (A,7,6)
(A,7,6)
(A,1,4)
(A,1,4) (A,6,5)
(A,6,5)
(A,1,3)
(A,1,3) (A,5,4)
(A,5,4)
(A,1,2)(A,1,2) (A,4,3)(A,4,3)
(A,1,1)(A,1,1) (A,3,2)(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 75: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/75.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)
QuickSort(A, 1, 3)
QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)
(A,1,5) (A,7,6)
(A,7,6)
(A,1,4)
(A,1,4) (A,6,5)
(A,6,5)
(A,1,3)
(A,1,3) (A,5,4)
(A,5,4)
(A,1,2)(A,1,2) (A,4,3)(A,4,3)
(A,1,1)(A,1,1) (A,3,2)(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 76: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/76.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)
QuickSort(A, 1, 3)
QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)
Partition(A, 1, 3)
Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)
(A,1,5) (A,7,6)
(A,7,6)
(A,1,4)
(A,1,4) (A,6,5)
(A,6,5)
(A,1,3)
(A,1,3) (A,5,4)
(A,5,4)
(A,1,2)(A,1,2) (A,4,3)(A,4,3)
(A,1,1)(A,1,1) (A,3,2)(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 77: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/77.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)
QuickSort(A, 1, 3)
QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)
Partition(A, 1, 3)
Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)
(A,1,5) (A,7,6)
(A,7,6)
(A,1,4)
(A,1,4) (A,6,5)
(A,6,5)
(A,1,3)
(A,1,3) (A,5,4)
(A,5,4)
(A,1,2)(A,1,2) (A,4,3)(A,4,3)
(A,1,1)(A,1,1) (A,3,2)(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 78: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/78.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)
(A,1,5) (A,7,6)
(A,7,6)
(A,1,4)
(A,1,4) (A,6,5)
(A,6,5)
(A,1,3)
(A,1,3) (A,5,4)
(A,5,4)
(A,1,2)
(A,1,2) (A,4,3)
(A,4,3)
(A,1,1)(A,1,1) (A,3,2)(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 79: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/79.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)
QuickSort(A, 1, 2)
QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)
(A,1,5) (A,7,6)
(A,7,6)
(A,1,4)
(A,1,4) (A,6,5)
(A,6,5)
(A,1,3)
(A,1,3) (A,5,4)
(A,5,4)
(A,1,2)
(A,1,2) (A,4,3)
(A,4,3)
(A,1,1)(A,1,1) (A,3,2)(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 80: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/80.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)
QuickSort(A, 1, 2)
QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)
Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)
(A,1,5) (A,7,6)
(A,7,6)
(A,1,4)
(A,1,4) (A,6,5)
(A,6,5)
(A,1,3)
(A,1,3) (A,5,4)
(A,5,4)
(A,1,2)
(A,1,2) (A,4,3)
(A,4,3)
(A,1,1)(A,1,1) (A,3,2)(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 81: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/81.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)
QuickSort(A, 1, 2)
QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)
Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)
(A,1,5) (A,7,6)
(A,7,6)
(A,1,4)
(A,1,4) (A,6,5)
(A,6,5)
(A,1,3)
(A,1,3) (A,5,4)
(A,5,4)
(A,1,2)
(A,1,2) (A,4,3)
(A,4,3)
(A,1,1)(A,1,1) (A,3,2)(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 82: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/82.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)
(A,1,5) (A,7,6)
(A,7,6)
(A,1,4)
(A,1,4) (A,6,5)
(A,6,5)
(A,1,3)
(A,1,3) (A,5,4)
(A,5,4)
(A,1,2)
(A,1,2) (A,4,3)
(A,4,3)
(A,1,1)
(A,1,1) (A,3,2)
(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 83: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/83.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)
QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)
(A,1,5) (A,7,6)
(A,7,6)
(A,1,4)
(A,1,4) (A,6,5)
(A,6,5)
(A,1,3)
(A,1,3) (A,5,4)
(A,5,4)
(A,1,2)
(A,1,2) (A,4,3)
(A,4,3)
(A,1,1)
(A,1,1) (A,3,2)
(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 84: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/84.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)
(A,1,5) (A,7,6)
(A,7,6)
(A,1,4)
(A,1,4) (A,6,5)
(A,6,5)
(A,1,3)
(A,1,3) (A,5,4)
(A,5,4)
(A,1,2)
(A,1,2) (A,4,3)
(A,4,3)
(A,1,1)
(A,1,1) (A,3,2)
(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 85: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/85.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)
QuickSort(A, 3, 2)
QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)
(A,1,5) (A,7,6)
(A,7,6)
(A,1,4)
(A,1,4) (A,6,5)
(A,6,5)
(A,1,3)
(A,1,3) (A,5,4)
(A,5,4)
(A,1,2)
(A,1,2) (A,4,3)
(A,4,3)
(A,1,1)
(A,1,1) (A,3,2)
(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 86: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/86.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)
(A,1,5) (A,7,6)
(A,7,6)
(A,1,4)
(A,1,4) (A,6,5)
(A,6,5)
(A,1,3)
(A,1,3) (A,5,4)
(A,5,4)
(A,1,2)
(A,1,2) (A,4,3)
(A,4,3)
(A,1,1)
(A,1,1)
(A,3,2)
(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 87: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/87.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)
QuickSort(A, 4, 3)
QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)
(A,1,5) (A,7,6)
(A,7,6)
(A,1,4)
(A,1,4) (A,6,5)
(A,6,5)
(A,1,3)
(A,1,3) (A,5,4)
(A,5,4)
(A,1,2)
(A,1,2) (A,4,3)
(A,4,3)
(A,1,1)
(A,1,1)
(A,3,2)
(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 88: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/88.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)
(A,1,5) (A,7,6)
(A,7,6)
(A,1,4)
(A,1,4) (A,6,5)
(A,6,5)
(A,1,3)
(A,1,3) (A,5,4)
(A,5,4)
(A,1,2)
(A,1,2)
(A,4,3)
(A,4,3)
(A,1,1)
(A,1,1)
(A,3,2)
(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 89: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/89.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)
QuickSort(A, 5, 4)
QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)
(A,1,5) (A,7,6)
(A,7,6)
(A,1,4)
(A,1,4) (A,6,5)
(A,6,5)
(A,1,3)
(A,1,3) (A,5,4)
(A,5,4)
(A,1,2)
(A,1,2)
(A,4,3)
(A,4,3)
(A,1,1)
(A,1,1)
(A,3,2)
(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 90: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/90.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)
(A,1,5) (A,7,6)
(A,7,6)
(A,1,4)
(A,1,4) (A,6,5)
(A,6,5)
(A,1,3)
(A,1,3)
(A,5,4)
(A,5,4)
(A,1,2)
(A,1,2)
(A,4,3)
(A,4,3)
(A,1,1)
(A,1,1)
(A,3,2)
(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 91: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/91.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)
QuickSort(A, 6, 5)
QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)
(A,1,5) (A,7,6)
(A,7,6)
(A,1,4)
(A,1,4) (A,6,5)
(A,6,5)
(A,1,3)
(A,1,3)
(A,5,4)
(A,5,4)
(A,1,2)
(A,1,2)
(A,4,3)
(A,4,3)
(A,1,1)
(A,1,1)
(A,3,2)
(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 92: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/92.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)
(A,1,5) (A,7,6)
(A,7,6)
(A,1,4)
(A,1,4)
(A,6,5)
(A,6,5)
(A,1,3)
(A,1,3)
(A,5,4)
(A,5,4)
(A,1,2)
(A,1,2)
(A,4,3)
(A,4,3)
(A,1,1)
(A,1,1)
(A,3,2)
(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 93: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/93.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)
QuickSort(A, 7, 6)
QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)
(A,1,5) (A,7,6)
(A,7,6)
(A,1,4)
(A,1,4)
(A,6,5)
(A,6,5)
(A,1,3)
(A,1,3)
(A,5,4)
(A,5,4)
(A,1,2)
(A,1,2)
(A,4,3)
(A,4,3)
(A,1,1)
(A,1,1)
(A,3,2)
(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 94: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/94.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)
(A,1,5)
(A,7,6)
(A,7,6)
(A,1,4)
(A,1,4)
(A,6,5)
(A,6,5)
(A,1,3)
(A,1,3)
(A,5,4)
(A,5,4)
(A,1,2)
(A,1,2)
(A,4,3)
(A,4,3)
(A,1,1)
(A,1,1)
(A,3,2)
(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 95: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/95.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)
QuickSort(A, 8, 7)
QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6) (A,8,7)
(A,8,7)
(A,1,5)
(A,1,5)
(A,7,6)
(A,7,6)
(A,1,4)
(A,1,4)
(A,6,5)
(A,6,5)
(A,1,3)
(A,1,3)
(A,5,4)
(A,5,4)
(A,1,2)
(A,1,2)
(A,4,3)
(A,4,3)
(A,1,1)
(A,1,1)
(A,3,2)
(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 96: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/96.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6)
(A,8,7)
(A,8,7)
(A,1,5)
(A,1,5)
(A,7,6)
(A,7,6)
(A,1,4)
(A,1,4)
(A,6,5)
(A,6,5)
(A,1,3)
(A,1,3)
(A,5,4)
(A,5,4)
(A,1,2)
(A,1,2)
(A,4,3)
(A,4,3)
(A,1,1)
(A,1,1)
(A,3,2)
(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 97: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/97.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)
QuickSort(A, 9, 8)
QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7) (A,9,8)
(A,9,8)
(A,1,6)
(A,1,6)
(A,8,7)
(A,8,7)
(A,1,5)
(A,1,5)
(A,7,6)
(A,7,6)
(A,1,4)
(A,1,4)
(A,6,5)
(A,6,5)
(A,1,3)
(A,1,3)
(A,5,4)
(A,5,4)
(A,1,2)
(A,1,2)
(A,4,3)
(A,4,3)
(A,1,1)
(A,1,1)
(A,3,2)
(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 98: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/98.jpg)
Worst-Case Behavior
QuickSort: Worst-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 8)QuickSort(A, 9, 8)QuickSort(A, 1, 7)QuickSort(A, 8, 7)QuickSort(A, 1, 6)QuickSort(A, 7, 6)QuickSort(A, 1, 5)QuickSort(A, 6, 5)QuickSort(A, 1, 4)QuickSort(A, 5, 4)QuickSort(A, 1, 3)QuickSort(A, 4, 3)QuickSort(A, 1, 2)QuickSort(A, 3, 2)QuickSort(A, 1, 1)
Partition(A, 1, 8)Partition(A, 1, 7)Partition(A, 1, 6)Partition(A, 1, 5)Partition(A, 1, 4)Partition(A, 1, 3)Partition(A, 1, 2)
(A,1,8)
(A,1,8)
(A,1,7)
(A,1,7)
(A,9,8)
(A,9,8)
(A,1,6)
(A,1,6)
(A,8,7)
(A,8,7)
(A,1,5)
(A,1,5)
(A,7,6)
(A,7,6)
(A,1,4)
(A,1,4)
(A,6,5)
(A,6,5)
(A,1,3)
(A,1,3)
(A,5,4)
(A,5,4)
(A,1,2)
(A,1,2)
(A,4,3)
(A,4,3)
(A,1,1)
(A,1,1)
(A,3,2)
(A,3,2)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 5 / 7
![Page 99: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/99.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)(A,1,15)
(A,1,7)(A,1,7)
(A,1,3)(A,1,3)
(A,1,1)(A,1,1) (A,3,3)(A,3,3)
(A,5,7)(A,5,7)
(A,5,5)(A,5,5) (A,7,7)(A,7,7)
(A,9,15)(A,9,15)
(A,9,11)(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 100: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/100.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)(A,1,15)
(A,1,7)(A,1,7)
(A,1,3)(A,1,3)
(A,1,1)(A,1,1) (A,3,3)(A,3,3)
(A,5,7)(A,5,7)
(A,5,5)(A,5,5) (A,7,7)(A,7,7)
(A,9,15)(A,9,15)
(A,9,11)(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 101: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/101.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)(A,1,7)
(A,1,3)(A,1,3)
(A,1,1)(A,1,1) (A,3,3)(A,3,3)
(A,5,7)(A,5,7)
(A,5,5)(A,5,5) (A,7,7)(A,7,7)
(A,9,15)(A,9,15)
(A,9,11)(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 102: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/102.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)
QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)(A,1,7)
(A,1,3)(A,1,3)
(A,1,1)(A,1,1) (A,3,3)(A,3,3)
(A,5,7)(A,5,7)
(A,5,5)(A,5,5) (A,7,7)(A,7,7)
(A,9,15)(A,9,15)
(A,9,11)(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 103: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/103.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)
QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)
Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)(A,1,7)
(A,1,3)(A,1,3)
(A,1,1)(A,1,1) (A,3,3)(A,3,3)
(A,5,7)(A,5,7)
(A,5,5)(A,5,5) (A,7,7)(A,7,7)
(A,9,15)(A,9,15)
(A,9,11)(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 104: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/104.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)
QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)
Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)(A,1,7)
(A,1,3)(A,1,3)
(A,1,1)(A,1,1) (A,3,3)(A,3,3)
(A,5,7)(A,5,7)
(A,5,5)(A,5,5) (A,7,7)(A,7,7)
(A,9,15)(A,9,15)
(A,9,11)(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 105: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/105.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)(A,1,3)
(A,1,1)(A,1,1) (A,3,3)(A,3,3)
(A,5,7)(A,5,7)
(A,5,5)(A,5,5) (A,7,7)(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 106: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/106.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)
QuickSort(A, 1, 7)
QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)(A,1,3)
(A,1,1)(A,1,1) (A,3,3)(A,3,3)
(A,5,7)(A,5,7)
(A,5,5)(A,5,5) (A,7,7)(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 107: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/107.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)
QuickSort(A, 1, 7)
QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)
Partition(A, 1, 7)
Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)(A,1,3)
(A,1,1)(A,1,1) (A,3,3)(A,3,3)
(A,5,7)(A,5,7)
(A,5,5)(A,5,5) (A,7,7)(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 108: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/108.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)
QuickSort(A, 1, 7)
QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)
Partition(A, 1, 7)
Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)(A,1,3)
(A,1,1)(A,1,1) (A,3,3)(A,3,3)
(A,5,7)(A,5,7)
(A,5,5)(A,5,5) (A,7,7)(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 109: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/109.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)(A,1,1) (A,3,3)(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)(A,5,5) (A,7,7)(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 110: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/110.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)
QuickSort(A, 1, 3)
QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)(A,1,1) (A,3,3)(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)(A,5,5) (A,7,7)(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 111: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/111.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)
QuickSort(A, 1, 3)
QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)
Partition(A, 1, 3)
Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)(A,1,1) (A,3,3)(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)(A,5,5) (A,7,7)(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 112: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/112.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)
QuickSort(A, 1, 3)
QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)
Partition(A, 1, 3)
Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)(A,1,1) (A,3,3)(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)(A,5,5) (A,7,7)(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 113: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/113.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1) (A,3,3)
(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)(A,5,5) (A,7,7)(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 114: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/114.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)
QuickSort(A, 1, 1)
QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1) (A,3,3)
(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)(A,5,5) (A,7,7)(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 115: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/115.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1) (A,3,3)
(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)(A,5,5) (A,7,7)(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 116: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/116.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)
QuickSort(A, 3, 3)
QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1) (A,3,3)
(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)(A,5,5) (A,7,7)(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 117: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/117.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1)
(A,3,3)
(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)(A,5,5) (A,7,7)(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 118: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/118.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)
QuickSort(A, 5, 7)
QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1)
(A,3,3)
(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)(A,5,5) (A,7,7)(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 119: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/119.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)
QuickSort(A, 5, 7)
QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)
Partition(A, 5, 7)
Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1)
(A,3,3)
(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)(A,5,5) (A,7,7)(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 120: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/120.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)
QuickSort(A, 5, 7)
QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)
Partition(A, 5, 7)
Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1)
(A,3,3)
(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)(A,5,5) (A,7,7)(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 121: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/121.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1)
(A,3,3)
(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)
(A,5,5) (A,7,7)
(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 122: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/122.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)
QuickSort(A, 5, 5)
QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1)
(A,3,3)
(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)
(A,5,5) (A,7,7)
(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 123: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/123.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1)
(A,3,3)
(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)
(A,5,5) (A,7,7)
(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 124: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/124.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)
QuickSort(A, 7, 7)
QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1)
(A,3,3)
(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)
(A,5,5) (A,7,7)
(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 125: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/125.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1)
(A,3,3)
(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)
(A,5,5)
(A,7,7)
(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 126: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/126.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)
QuickSort(A, 9, 15)
QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1)
(A,3,3)
(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)
(A,5,5)
(A,7,7)
(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 127: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/127.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)
QuickSort(A, 9, 15)
QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)
Partition(A, 9, 15)
Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1)
(A,3,3)
(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)
(A,5,5)
(A,7,7)
(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 128: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/128.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)
QuickSort(A, 9, 15)
QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)
Partition(A, 9, 15)
Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1)
(A,3,3)
(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)
(A,5,5)
(A,7,7)
(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 129: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/129.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1)
(A,3,3)
(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)
(A,5,5)
(A,7,7)
(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)
(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)
(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 130: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/130.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)
QuickSort(A, 9, 11)
QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1)
(A,3,3)
(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)
(A,5,5)
(A,7,7)
(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)
(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)
(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 131: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/131.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)
QuickSort(A, 9, 11)
QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)
Partition(A, 9, 11)
Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1)
(A,3,3)
(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)
(A,5,5)
(A,7,7)
(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)
(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)
(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 132: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/132.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)
QuickSort(A, 9, 11)
QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)
Partition(A, 9, 11)
Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1)
(A,3,3)
(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)
(A,5,5)
(A,7,7)
(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)
(A,9,11)
(A,9,9)(A,9,9) (A,11,11)(A,11,11)
(A,13,15)
(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 133: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/133.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1)
(A,3,3)
(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)
(A,5,5)
(A,7,7)
(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)
(A,9,11)
(A,9,9)
(A,9,9) (A,11,11)
(A,11,11)
(A,13,15)
(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 134: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/134.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)
QuickSort(A, 9, 9)
QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1)
(A,3,3)
(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)
(A,5,5)
(A,7,7)
(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)
(A,9,11)
(A,9,9)
(A,9,9) (A,11,11)
(A,11,11)
(A,13,15)
(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 135: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/135.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1)
(A,3,3)
(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)
(A,5,5)
(A,7,7)
(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)
(A,9,11)
(A,9,9)
(A,9,9) (A,11,11)
(A,11,11)
(A,13,15)
(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 136: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/136.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)
QuickSort(A, 11, 11)
QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1)
(A,3,3)
(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)
(A,5,5)
(A,7,7)
(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)
(A,9,11)
(A,9,9)
(A,9,9) (A,11,11)
(A,11,11)
(A,13,15)
(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 137: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/137.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1)
(A,3,3)
(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)
(A,5,5)
(A,7,7)
(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)
(A,9,11)
(A,9,9)
(A,9,9)
(A,11,11)
(A,11,11)
(A,13,15)
(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 138: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/138.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)
QuickSort(A, 13, 15)
QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1)
(A,3,3)
(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)
(A,5,5)
(A,7,7)
(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)
(A,9,11)
(A,9,9)
(A,9,9)
(A,11,11)
(A,11,11)
(A,13,15)
(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 139: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/139.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)
QuickSort(A, 13, 15)
QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)
Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1)
(A,3,3)
(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)
(A,5,5)
(A,7,7)
(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)
(A,9,11)
(A,9,9)
(A,9,9)
(A,11,11)
(A,11,11)
(A,13,15)
(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 140: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/140.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)
QuickSort(A, 13, 15)
QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)
Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1)
(A,3,3)
(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)
(A,5,5)
(A,7,7)
(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)
(A,9,11)
(A,9,9)
(A,9,9)
(A,11,11)
(A,11,11)
(A,13,15)
(A,13,15)
(A,13,13)(A,13,13) (A,15,15)(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 141: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/141.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1)
(A,3,3)
(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)
(A,5,5)
(A,7,7)
(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)
(A,9,11)
(A,9,9)
(A,9,9)
(A,11,11)
(A,11,11)
(A,13,15)
(A,13,15)
(A,13,13)
(A,13,13) (A,15,15)
(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 142: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/142.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)
QuickSort(A, 13, 13)
QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1)
(A,3,3)
(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)
(A,5,5)
(A,7,7)
(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)
(A,9,11)
(A,9,9)
(A,9,9)
(A,11,11)
(A,11,11)
(A,13,15)
(A,13,15)
(A,13,13)
(A,13,13) (A,15,15)
(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 143: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/143.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1)
(A,3,3)
(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)
(A,5,5)
(A,7,7)
(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)
(A,9,11)
(A,9,9)
(A,9,9)
(A,11,11)
(A,11,11)
(A,13,15)
(A,13,15)
(A,13,13)
(A,13,13) (A,15,15)
(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 144: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/144.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)
QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1)
(A,3,3)
(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)
(A,5,5)
(A,7,7)
(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)
(A,9,11)
(A,9,9)
(A,9,9)
(A,11,11)
(A,11,11)
(A,13,15)
(A,13,15)
(A,13,13)
(A,13,13) (A,15,15)
(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 145: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/145.jpg)
Best-Case Behavior
QuickSort: Best-Case Behavior
QuickSort(A, p, r)
1 if p < r2 then q ← Partition(A, p, r)3 QuickSort(A, p, q − 1)4 QuickSort(A, q + 1, r)
QuickSort(A, 1, 15)QuickSort(A, 1, 7)QuickSort(A, 1, 3)QuickSort(A, 1, 1)QuickSort(A, 3, 3)QuickSort(A, 5, 7)QuickSort(A, 5, 5)QuickSort(A, 7, 7)QuickSort(A, 9, 15)QuickSort(A, 9, 11)QuickSort(A, 9, 9)QuickSort(A, 11, 11)QuickSort(A, 13, 15)QuickSort(A, 13, 13)QuickSort(A, 15, 15)
Partition(A, 1, 15)Partition(A, 1, 7)Partition(A, 1, 3)Partition(A, 5, 7)Partition(A, 9, 15)Partition(A, 9, 11)Partition(A, 13, 15)
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
5
3
11
4
2
5
12
6
7
7
6
8
4
9
9
10
13
11
14
12
15
13
10
14
8
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
6
3
2
4
7
5
5
6
4
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
3
1
1
2
2
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
7
5
5
6
6
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
13
11
14
12
15
13
10
14
12
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
11
9
9
10
10
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
15
13
13
14
14
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
(A,1,15)
(A,1,15)
(A,1,7)
(A,1,7)
(A,1,3)
(A,1,3)
(A,1,1)
(A,1,1)
(A,3,3)
(A,3,3)
(A,5,7)
(A,5,7)
(A,5,5)
(A,5,5)
(A,7,7)
(A,7,7)
(A,9,15)
(A,9,15)
(A,9,11)
(A,9,11)
(A,9,9)
(A,9,9)
(A,11,11)
(A,11,11)
(A,13,15)
(A,13,15)
(A,13,13)
(A,13,13)
(A,15,15)
(A,15,15)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 6 / 7
![Page 146: QuickSort · 1 The Partition Procedure 2 Algorithm 3 Worst-Case Behavior 4 Best-Case Behavior 5 Randomized QuickSort Parosh Aziz Abdulla (Uppsala University) QuickSort September 12,](https://reader033.vdocuments.net/reader033/viewer/2022041501/5e2218fab6956877da776151/html5/thumbnails/146.jpg)
Randomized QuickSort
Randomized Quick Sort
RandomizedPartition(A, p, r)
1 i ← Random(p, r)2 exchange A[r ]↔ A[i ]3 return Partition(A, p, r)
RandomizedQuickSort(A, p, r)
1 if p < r2 then q ← RandomizedPartition(A, p, r)3 RandomizedQuickSort(A, p, q − 1)4 RandomizedQuickSort(A, q + 1, r)
Parosh Aziz Abdulla (Uppsala University) QuickSort September 12, 2012 7 / 7