[英]Randomized quicksort partitioning probability
我正在閱讀有啟發性的算法:第1部分 ,問題5.2指出:
令ɑ是一個常數,與輸入數組長度n無關,嚴格在0和1/2之間。 使用隨機選擇的樞軸元素,Partition子例程會產生一個拆分,其中兩個結果子問題的大小至少是原始數組大小的1/3倍嗎?
答案選擇包括:
- ɑ
- 1-ɑ
- 1-2ɑ
- 2-2ɑ
我不確定如何回答這個問題。 有任何想法嗎?
令數組中有N
元素。 如果選取的樞軸是數組中最小[Nα]
元素之一,則左分區的大小將小於Nα
。 同樣,如果選取的樞軸是數組中最大的[Nα]
元素之一,則右分區的大小將小於Nα
。
因此,您可以選擇N - 2 * [Nα]
元素,以使兩個分區的大小都大於或等於Nα
。 由於該算法隨機選擇一個樞軸,因此所有元素的拾取概率均等。
因此,發生這種分裂的可能性為1 - 2α + O(1 / N)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.