題目:
100w個數(shù)中找出最大的100個。
維護一個100個元素的小根堆即可。
或者直接維護一個用來存儲當前最大的100個數(shù)的數(shù)組,每次把新來的數(shù)丟棄或插入到合適的位置。
題目:
海量數(shù)據(jù)分布在100臺電腦中,統(tǒng)計出這批數(shù)據(jù)的TOP10。
在每臺電腦上維護一個10個元素的小根堆,求出top10,然后綜合即可
題目:
上千萬或上億數(shù)據(jù)(有重復(fù)),統(tǒng)計其中出現(xiàn)次數(shù)最多的前N個數(shù)據(jù)。
先用hash_map進行次數(shù)統(tǒng)計,然后用堆求top N