java大數(shù)據(jù) 一道java面試題,20億數(shù)字的文本排序,如何取前100?
一道java面試題,20億數(shù)字的文本排序,如何取前100?因?yàn)檫@是一個(gè)Java問題,所以這是典型的TOPK問題。首先取前100個(gè)數(shù)字構(gòu)建一個(gè)最小堆,然后依次從堆的頂部插入剩余的數(shù)字,同時(shí)調(diào)整堆。堆中最
一道java面試題,20億數(shù)字的文本排序,如何取前100?
因?yàn)檫@是一個(gè)Java問題,所以這是典型的TOPK問題。首先取前100個(gè)數(shù)字構(gòu)建一個(gè)最小堆,然后依次從堆的頂部插入剩余的數(shù)字,同時(shí)調(diào)整堆。堆中最后100個(gè)元素就是結(jié)果??臻g復(fù)雜度為K,時(shí)間復(fù)雜度為nlogk
~]。對于那些需要java基金會(huì)開發(fā)大數(shù)據(jù)并應(yīng)用Hadoop、Scar等的人來說,在java開發(fā)技術(shù)經(jīng)驗(yàn)一年后,他們比那些0歲的人更容易學(xué)習(xí)大數(shù)據(jù)開發(fā)相關(guān)技術(shù),或者他們可以直接選擇參加大數(shù)據(jù)開發(fā)的改進(jìn)類。例如,java java java語言的GRAIGU大數(shù)據(jù)開發(fā)的學(xué)習(xí)和學(xué)習(xí),首先要學(xué)習(xí)的是:java!學(xué)習(xí)目標(biāo):Java基金會(huì),Java面向?qū)ο螅琂ava高級,數(shù)據(jù)庫和JDBC!學(xué)習(xí)效果:掌握java語法,靈活使用它。并且可以開發(fā)后臺應(yīng)用程序!你可以學(xué)習(xí)改進(jìn)類的內(nèi)容,然后切換到大數(shù)據(jù)開發(fā):····第1階段:大數(shù)據(jù)基金會(huì)··!第2階段:Hadoop生態(tài)系統(tǒng)·!第3階段:火花生態(tài)系統(tǒng)·!第4階段:項(xiàng)目實(shí)踐