對(duì)關(guān)鍵字序列進(jìn)行堆排序 堆排序,歸并排序,快速排序的比較,到底誰(shuí)快?
堆排序,歸并排序,快速排序的比較,到底誰(shuí)快?我測(cè)試的平均排序時(shí)間是:數(shù)據(jù)是一個(gè)隨機(jī)整數(shù),時(shí)間單位是秒數(shù)據(jù)規(guī)??焖倥判蚝喜⑴判蛳柵判蚨雅判騗1000萬(wàn)0.75 1.22 1.77 3.575000萬(wàn)3
堆排序,歸并排序,快速排序的比較,到底誰(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ú)用的工作。