java算法入門(mén)書(shū)籍 大一軟件工程學(xué)生,看完了譚浩強(qiáng)的書(shū),越看越迷茫,感覺(jué)并沒(méi)什么用,什么大程序都不會(huì)編,求指點(diǎn)?
大一軟件工程學(xué)生,看完了譚浩強(qiáng)的書(shū),越看越迷茫,感覺(jué)并沒(méi)什么用,什么大程序都不會(huì)編,求指點(diǎn)?讀他的書(shū)時(shí)感到頭暈是很正常的,因?yàn)榇蠖鄶?shù)中國(guó)教授都不在乎你能不能聽(tīng)懂。他們關(guān)心的是教科書(shū)是否更“學(xué)術(shù)化”。如
大一軟件工程學(xué)生,看完了譚浩強(qiáng)的書(shū),越看越迷茫,感覺(jué)并沒(méi)什么用,什么大程序都不會(huì)編,求指點(diǎn)?
讀他的書(shū)時(shí)感到頭暈是很正常的,因?yàn)榇蠖鄶?shù)中國(guó)教授都不在乎你能不能聽(tīng)懂。他們關(guān)心的是教科書(shū)是否更“學(xué)術(shù)化”。如果公式中沒(méi)有希臘字母,他們就不好意思跟別人打招呼。當(dāng)你介紹計(jì)算機(jī)語(yǔ)言時(shí),你能很快了解教授的水平如何顯示嗎?可憐的上帝,我看到了發(fā)明C語(yǔ)言的上帝。讀他的書(shū),我懷疑他是否會(huì)說(shuō)C語(yǔ)言。。。在網(wǎng)上閱讀Arduino的教程,把軟硬件結(jié)合起來(lái)學(xué)習(xí),先了解基本的硬件,再了解軟件是如何控制硬件的,這樣才能真正學(xué)會(huì)理解C語(yǔ)言。。。
一道java面試題,20億數(shù)字的文本排序,如何取前100?
因?yàn)檫@是一個(gè)Java問(wèn)題,所以這是典型的TOPK問(wèn)題。首先取前100個(gè)數(shù)字構(gòu)建一個(gè)最小堆,然后依次從堆的頂部插入剩余的數(shù)字,同時(shí)調(diào)整堆。堆中最后100個(gè)元素就是結(jié)果??臻g復(fù)雜度是k,時(shí)間復(fù)雜度是nlogk
我猜你問(wèn)過(guò)人們JDK各種數(shù)據(jù)結(jié)構(gòu)的底層實(shí)現(xiàn)原理。事實(shí)上,我一直很困惑。了解基本的實(shí)現(xiàn)原則是可以的,但是如果你不太了解,那又怎樣呢?人們知道哪些數(shù)據(jù)結(jié)構(gòu)適用于哪些場(chǎng)景,并且能夠熟練地使用它們。那不是。。。夠了嗎?對(duì)貴公司的需求不足嗎?你希望他為你的公司創(chuàng)建一個(gè)新的數(shù)據(jù)結(jié)構(gòu)嗎?就像two peas或JDK一樣,JDK的數(shù)據(jù)結(jié)構(gòu)性能遇到了瓶頸,求職者會(huì)給你提供比工作提供的數(shù)據(jù)結(jié)構(gòu)更好的數(shù)據(jù)結(jié)構(gòu)。