Tải bản đầy đủ (.pdf) (16 trang)

24 1 quick sort proof tủ tài liệu training pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.88 MB, 16 trang )

QuickSort
Analysis I: A Decomposition Principle
Design and Analysis of
Algorithms I


Nextcore AI Gopal
Shangari


Preliminaries
Fix input array A of length n
Sample Space
= all possible outcomes of random choices in
QuickSort (i.e., pivot sequencesti
Key Random Variable : for
= # of comparisons between two input elements made by
QuickSort (given random choices ti
Lemma: running 8me of QuickSort dominated by comparisons.
Remaining goal : E[C] =
O(nlog(ntiti

There exist constant c s.t. for all
,
(see
Nextcore AI Gopal Shangari
notesti


Nextcore AI Gopal Shangari



Te
ve

Fix two elements of the input array. How many 8mes can these
two elements get compared with each other during the execu8on
of QuickSort?
1

Reason : two elements compared only when one is
the pivot, which is excluded from future recursive
calls.

0 or 1 0,
1, or 2

Thus : each Xij is an “indicator” (i.e., 0-‐1ti random
variable


So :

= # of comparisons between input elements
= # of comparisons between zi and zj

Thus :
By Linearity of Expecta8on :
Since
Thus :
Nextcore AI Gopal

Shangari


1. Iden8fy random variable Y that you really care about
2. Express Y as sum of indicator random variables :

3. Apply Linearity of expecta8on :

“just” need to
understand these!

Nextcore AI Gopal
Shangari


QuickSort

Design and Analysis
of Algorithms I

Analysis II:
The Key Insight


Nextcore AI Gopal
Shangari


Nextcore AI Gopal
Shangari



Fix zi, zj with i < j
Consider the set zi,zi+1,…,zj-‐1,zj

Nextcore AI Gopal
Shangari


1. zi or zj gets chosen first => they get compared
2. one of zi+1,…,zj-‐1 gets chosen first => zi , zj never compared
Note : Since pivots always chosen uniformly at random, each of
zi,zi+1,…,zj-‐1,zj is equally likely to be the first
Pr[zi,zj get compared ]

So :

= 2/(j-‐i+1ti

Choices that lead to
case (1ti
Total # of choices
[S@ll need to show
this is O(nlog(ntiti
Nextcore AI Gopal
Shangari


QuickSort


Design and Analysis
of Algorithms I

Analysis III: Final
Calculations


Nextcore AI Gopal
Shangari


How big can this be ?

<= n choices
for i

(*t
i

Note : for each fixed i, the inner sum is

Claim : this is <=
ln(nti
Nextcore AI Gopal Shangari


Nextcore AI Gopal
Shangari




×