對關(guān)鍵字序列進(jìn)行堆排序 堆排序,歸并排序,快速排序的比較,到底誰快?
堆排序,歸并排序,快速排序的比較,到底誰快?我測試的平均排序時間是:數(shù)據(jù)是一個隨機(jī)整數(shù),時間單位是秒數(shù)據(jù)規(guī)??焖倥判蚝喜⑴判蛳柵判蚨雅判騗1000萬0.75 1.22 1.77 3.575000萬3
堆排序,歸并排序,快速排序的比較,到底誰快?
我測試的平均排序時間是:數(shù)據(jù)是一個隨機(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)整。
從上面可以看出,堆排序做了很多無用的工作。