大數(shù)據(jù)需要java哪些基礎(chǔ),搞 Java 最重要的是什么?毫不夸張地說,掌握和了解學(xué)習(xí)JAVA需要哪些基礎(chǔ)啊。?有沒有網(wǎng)上的視頻或者書籍一類的推薦幾個(gè)。??,基本就能走遍天下都不怕了!
1.學(xué)習(xí)JAVA需要哪些基礎(chǔ)啊。?有沒有網(wǎng)上的視頻或者書籍一類的推薦幾個(gè)。
編程分為: 面向過程編程 面向?qū)ο缶幊藺CM比賽一類的需要的主要是面向過程編程,一般ACM競賽的題目都可以解決舉個(gè)例子 現(xiàn)在我有1000個(gè)數(shù),我要找到第100大的數(shù)字,那么我們可以用選擇排序,然后找到排在第100個(gè)的數(shù), 算法的效率 是O(N^2) 如果我有10000000個(gè)數(shù),我要找第100大的數(shù)呢,選擇排序的速度就太慢了,于是我們要換一種方法去找第100大的數(shù)。 這里我們用到的方法就是算法!! 面向過程編程就要收針對(duì)一個(gè)問題進(jìn)行解決,設(shè)計(jì)省空間省時(shí)間的算法!! 面向?qū)ο缶幊?,與面向過程編程在思路上有很大的區(qū)別,主要考慮了程序的移植性,復(fù)用性,繼承等等,主要在應(yīng)用中會(huì)用到,比如軟件開發(fā)等等 c是面向過程編程的語言,c++包含了c的特性,但是主要是屬于面向?qū)ο缶幊?,java是面向?qū)ο缶幊痰恼Z言 如果你這么問,我們可以做一個(gè)假設(shè),那就是你對(duì)算法以及數(shù)據(jù)結(jié)構(gòu)都沒有一個(gè)很清晰的了解,或者是說沒有一個(gè)更深入的理解。 我的意見是:從 算法與數(shù)據(jù)結(jié)構(gòu) 入手,這類的書籍很多很泛濫,內(nèi)容差不多。 等你對(duì)算法與數(shù)據(jù)結(jié)構(gòu)有了深入的了解了以后再去看看 高級(jí)算法與數(shù)據(jù)結(jié)構(gòu) 這些是編程思想的基礎(chǔ)!! 計(jì)算機(jī)語言是可以觸類旁通的,所以使用任何語言都沒有太大關(guān)系??偨Y(jié):1. 了解清楚什么是面向過程編程,面向?qū)ο缶幊?,有自己的理?;2. 從算法與數(shù)據(jù)結(jié)構(gòu)入手, 了解各種數(shù)據(jù)結(jié)構(gòu):樹,二叉樹,多叉樹,紅黑樹等等 哈希表,數(shù)組模擬鏈表等等 算法:貪心算法、動(dòng)態(tài)規(guī)劃算法、最小生成樹算法、KMP算法、網(wǎng)絡(luò)流算法等等最基本的算法3. 練習(xí),訓(xùn)練編程思想最重要的就是練習(xí)!! ACM題庫就是一個(gè)很好的練習(xí)場所,浙大的題庫,北大的題目,同濟(jì)的題庫,還有美國的題庫USACO 俄羅斯的也有很多很多題庫,我們高中的時(shí)候就是做這些題庫的@!!先講這么多,祝好運(yùn)哦~
雖說掌握和了解了學(xué)習(xí)JAVA需要哪些基礎(chǔ)啊。?有沒有網(wǎng)上的視頻或者書籍一類的推薦幾個(gè)。??,能走遍天下,但也要不斷去學(xué)習(xí)新的知識(shí),更多的Java知識(shí),請(qǐng)聯(lián)系客服獲取。