關(guān)系型數(shù)據(jù)庫 5000個(gè)數(shù)中找出10個(gè)最大的,用哪種排序算法比較好?
5000個(gè)數(shù)中找出10個(gè)最大的,用哪種排序算法比較好?該問題的最優(yōu)時(shí)間復(fù)雜度為O(n)。所以如果一定要使用排序算法,如果標(biāo)題條件允許,請(qǐng)盡量選擇o(n)排序算法如bucket排序。另一種解決方案是構(gòu)建
5000個(gè)數(shù)中找出10個(gè)最大的,用哪種排序算法比較好?
該問題的最優(yōu)時(shí)間復(fù)雜度為O(n)。所以如果一定要使用排序算法,如果標(biāo)題條件允許,請(qǐng)盡量選擇o(n)排序算法如bucket排序。另一種解決方案是構(gòu)建一個(gè)大小為10的堆,按順序遍歷數(shù)組,并在堆滿時(shí)移除最上面的元素。這樣,最多可獲得10個(gè)元素。時(shí)間復(fù)雜度為O(nlog10)。