各種排序算法的應(yīng)用場(chǎng)景 請(qǐng)問(wèn)大神最奇葩的排序算法是什么?
請(qǐng)問(wèn)大神最奇葩的排序算法是什么?我將演示如何同時(shí)對(duì)所有數(shù)據(jù)進(jìn)行排序]4x。它適用于所有具有非負(fù)值的數(shù)據(jù)。在網(wǎng)上論壇上很少看到這樣的排序算法。5000個(gè)數(shù)中找出10個(gè)最大的,用哪種排序算法比較好?該問(wèn)題
請(qǐng)問(wèn)大神最奇葩的排序算法是什么?
我將演示如何同時(shí)對(duì)所有數(shù)據(jù)進(jìn)行排序
]4x。
它適用于所有具有非負(fù)值的數(shù)據(jù)。
在網(wǎng)上論壇上很少看到這樣的排序算法。
5000個(gè)數(shù)中找出10個(gè)最大的,用哪種排序算法比較好?
該問(wèn)題的最優(yōu)時(shí)間復(fù)雜度為O(n)。所以如果一定要使用排序算法,如果標(biāo)題條件允許,請(qǐng)盡量選擇o(n)排序算法如bucket排序。另一種解決方案是構(gòu)建一個(gè)大小為10的堆,按順序遍歷數(shù)組,并在堆滿(mǎn)時(shí)移除最上面的元素。這樣,最多可獲得10個(gè)元素。時(shí)間復(fù)雜度為O(nlog10)。