快速排序?yàn)槭裁幢葰w并快 在快速排序、堆排序、歸并排序中,什么排序是穩(wěn)定的?
在快速排序、堆排序、歸并排序中,什么排序是穩(wěn)定的?堆排序,歸并排序,快速排序的比較,到底誰快?我測(cè)試的平均排序時(shí)間是:數(shù)據(jù)是一個(gè)隨機(jī)整數(shù),時(shí)間單位是秒數(shù)據(jù)規(guī)??焖倥判蚝喜⑴判蛳柵判蚨雅判騗1000萬
在快速排序、堆排序、歸并排序中,什么排序是穩(wěn)定的?
堆排序,歸并排序,快速排序的比較,到底誰快?
我測(cè)試的平均排序時(shí)間是:數(shù)據(jù)是一個(gè)隨機(jī)整數(shù),時(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
堆排序最差。
這是一個(gè)算法障礙。不可能。因?yàn)槊看稳∽畲笾挡⑴c堆底部的數(shù)據(jù)(表示為x)交換時(shí),都可以重新篩選堆并調(diào)整堆頂部的x。很有可能您仍會(huì)將其調(diào)整到堆的底部(堆底部的x顯然是一個(gè)小數(shù)字,僅在底部),然后將其與堆頂部的最大值交換并再次調(diào)整。
從上面可以看出,堆排序做了很多無用的工作。