CSCI3320/8325: Data Structures 3 CSCI3320/8325: Data Structures 4 CSCI3320/8325: Data Structures 5 CSCI3320/8325: Data Structures 6 CSCI3320/8325: Data Structures 7 CSCI3320/8325: Data Structures 8 CSCI3320/8325: Data Structures 9 CSCI3320/8325: Data Structures 10 CSCI3320/8325: Data Structures 11 CSCI3320/8325: Data Structures 12 CSCI3320/8325: Data Structures 13 CSCI3320/8325: Data Structures 14 CSCI3320/8325: Data Structures 15 CSCI3320/8325: Data Structures 16 Quicksort is recursive.
Assume a random pivot.
Its running time analysis requires solve a recurrence formula.The
running time of quick sort is equal to the running time of the two recursive calls plus the linear time spent in the partition (the pivot selection takes only constant time)
T(0) = T(1) = 1 T(N) = T(i) + T(N – i – 1) + N where i=|S1| is the number of elements in S1.
CSCI3320/8325: Data Structures 17
Left recursion Right recursion Partition
CSCI3320/8325: Data Structures 18
0 recursion N-1 recursion Partition
CSCI3320/8325: Data Structures 19
CSCI3320/8325: Data Structures 20 CSCI3320/8325: Data Structures 21 CSCI3320/8325: Data Structures 22 CSCI3320/8325: Data Structures 23 CSCI3320/8325: Data Structures 24 CSCI3320/8325: Data Structures 25 CSCI3320/8325: Data Structures 26