快速排序優(yōu)化 在快速排序、堆排序、歸并排序中,什么排序是穩(wěn)定的?
在快速排序、堆排序、歸并排序中,什么排序是穩(wěn)定的?快速排序與歸并排序比較?一般來(lái)說(shuō),它是快速調(diào)度。具體來(lái)說(shuō),如果數(shù)據(jù)無(wú)序,快速調(diào)度就是快速的。如果部分?jǐn)?shù)據(jù)是有序的,則合并速度很快。我建議你使用快排,因
在快速排序、堆排序、歸并排序中,什么排序是穩(wěn)定的?
快速排序與歸并排序比較?
一般來(lái)說(shuō),它是快速調(diào)度。具體來(lái)說(shuō),如果數(shù)據(jù)無(wú)序,快速調(diào)度就是快速的。
如果部分?jǐn)?shù)據(jù)是有序的,則合并速度很快。
我建議你使用快排,因?yàn)榧词购喜⒑芸?,也不?huì)快很多。
快速排可以處理更多情況。
堆排序,歸并排序,快速排序的比較,到底誰(shuí)快?
我測(cè)試的平均排序時(shí)間是:數(shù)據(jù)是一個(gè)隨機(jī)整數(shù),時(shí)間單位是秒
數(shù)據(jù)規(guī)模快速排序合并排序希爾排序堆排序]1000萬(wàn)0.75 1.22 1.77 3.57
5000萬(wàn)3.78 6.29 9.48 26.54
100萬(wàn)7.65 13.06 18.79 61.31
堆排序最差。
這是一個(gè)算法障礙。不可能。因?yàn)槊看稳∽畲笾挡⑴c堆底部的數(shù)據(jù)(表示為x)交換時(shí),都可以重新篩選堆并調(diào)整堆頂部的x。很有可能您仍會(huì)將其調(diào)整到堆的底部(堆底部的x顯然是一個(gè)小數(shù)字,僅在底部),然后將其與堆頂部的最大值交換并再次調(diào)整。
從上面可以看出,堆排序做了很多無(wú)用的工作。