2016-09-07 86 views
0

嗯,我想用快速排序給定3值,無所謂什麼值,怎麼才能得到最差的情況,那就是9的操作?快速排序,給出3個值,我怎樣才能達到9個操作?

任何人都可以繪製樹並顯示它如何顯示nlognn^2操作?我試圖在網上找到,但我仍然沒有設法正確地繪製一個來顯示。

+0

可能的重複[最差情況爲QuickSort - 何時可以發生?](http://stackoverflow.com/questions/2415193/worst-case-for-quicksort-when-can-it-occur) – iainn

回答

0

快速排序的最壞情況複雜度取決於所選的樞軸。如果選擇的樞軸是最左邊或最右邊的元素。那麼在下列情況下會出現最差情況複雜度:

1)數組已按照相同的順序排序。

2)數組已按相反順序排序。

3)所有元素相同(情況1和2的特例)。

由於這些情況非常頻繁發生,因此主題是隨機選擇的。通過隨機選擇樞軸,減少最壞情況的機會。

快速排序算法的分析在khan academy的this blogpost中進行了解釋。

+0

我看到,但是我怎麼能證明一棵樹能在良好平均情況下產生2次操作,在最壞情況下會產生9次操作? –

+0

我發現了一個汗學院的博客文章,數學解釋它。我已經通過鏈接編輯了我的答案。你可以看看它。 –

+0

我也在那裏看過。它沒有多大幫助 –