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