嗯,我想用快速排序給定3
值,無所謂什麼值,怎麼才能得到最差的情況,那就是9
的操作?快速排序,給出3個值,我怎樣才能達到9個操作?
任何人都可以繪製樹並顯示它如何顯示nlogn
和n^2
操作?我試圖在網上找到,但我仍然沒有設法正確地繪製一個來顯示。
嗯,我想用快速排序給定3
值,無所謂什麼值,怎麼才能得到最差的情況,那就是9
的操作?快速排序,給出3個值,我怎樣才能達到9個操作?
任何人都可以繪製樹並顯示它如何顯示nlogn
和n^2
操作?我試圖在網上找到,但我仍然沒有設法正確地繪製一個來顯示。
快速排序的最壞情況複雜度取決於所選的樞軸。如果選擇的樞軸是最左邊或最右邊的元素。那麼在下列情況下會出現最差情況複雜度:
1)數組已按照相同的順序排序。
2)數組已按相反順序排序。
3)所有元素相同(情況1和2的特例)。
由於這些情況非常頻繁發生,因此主題是隨機選擇的。通過隨機選擇樞軸,減少最壞情況的機會。
快速排序算法的分析在khan academy的this blogpost中進行了解釋。
我看到,但是我怎麼能證明一棵樹能在良好平均情況下產生2次操作,在最壞情況下會產生9次操作? –
我發現了一個汗學院的博客文章,數學解釋它。我已經通過鏈接編輯了我的答案。你可以看看它。 –
我也在那裏看過。它沒有多大幫助 –
可能的重複[最差情況爲QuickSort - 何時可以發生?](http://stackoverflow.com/questions/2415193/worst-case-for-quicksort-when-can-it-occur) – iainn