Java int數(shù)組從大到小排序 一道java面試題,20億數(shù)字的文本排序,如何取前100?
一道java面試題,20億數(shù)字的文本排序,如何取前100?這是TOPK的經(jīng)典問(wèn)題。首先取前100個(gè)數(shù)字構(gòu)建一個(gè)最小堆,然后依次從堆的頂部插入剩余的數(shù)字,同時(shí)調(diào)整堆。堆中最后100個(gè)元素就是結(jié)果??臻g復(fù)
一道java面試題,20億數(shù)字的文本排序,如何取前100?
這是TOPK的經(jīng)典問(wèn)題。首先取前100個(gè)數(shù)字構(gòu)建一個(gè)最小堆,然后依次從堆的頂部插入剩余的數(shù)字,同時(shí)調(diào)整堆。堆中最后100個(gè)元素就是結(jié)果??臻g復(fù)雜度是k,時(shí)間復(fù)雜度是nlogk
C語(yǔ)言、數(shù)據(jù)結(jié)構(gòu)、線性代數(shù)、網(wǎng)絡(luò)工程,然后學(xué)習(xí)javase(封裝、繼承、多態(tài)、集合、多線程、IO等),然后是JavaWeb(HTML、CSS、JS、AJAX、jQuery等),最后是JavaEE(SSH、SSM等)基本可以找到工作。當(dāng)然,這只是一個(gè)開(kāi)始,路還很長(zhǎng)。你可以看看我的一些經(jīng)驗(yàn),也許對(duì)你有幫助。