學(xué)習(xí)PHP的過程何時(shí)可以數(shù)據(jù)結(jié)構(gòu)和算法_第1頁
學(xué)習(xí)PHP的過程何時(shí)可以數(shù)據(jù)結(jié)構(gòu)和算法_第2頁
學(xué)習(xí)PHP的過程何時(shí)可以數(shù)據(jù)結(jié)構(gòu)和算法_第3頁
學(xué)習(xí)PHP的過程何時(shí)可以數(shù)據(jù)結(jié)構(gòu)和算法_第4頁
學(xué)習(xí)PHP的過程何時(shí)可以數(shù)據(jù)結(jié)構(gòu)和算法_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

本文格式為Word版,下載可任意編輯——學(xué)習(xí)PHP的過程何時(shí)可以數(shù)據(jù)結(jié)構(gòu)和算法學(xué)習(xí)PHP的過程何時(shí)可以數(shù)據(jù)布局和算法

學(xué)習(xí)PHP的時(shí)候,什么階段才可以學(xué)數(shù)據(jù)布局?這個(gè)問題其實(shí)不只是學(xué)習(xí)PHP,也是其他語言。

關(guān)于這個(gè)問題確定不要瞎跟風(fēng),確定不要超前,也就是說不要看到網(wǎng)上別人說這個(gè)重要就連忙去學(xué),也不要看到別人說它很抽象,很難,就不去學(xué)??偟膩碚f,這個(gè)玩意是要學(xué),而且務(wù)必學(xué),關(guān)鍵是什么時(shí)候?qū)W?怎么學(xué)?

假設(shè)沒有學(xué)好該語言的根基,就不要學(xué)數(shù)據(jù)布局和算法,否那么你學(xué)了許久,不但華而不實(shí),派不上用武之地,還極大的打擊你學(xué)習(xí)興趣。

譬如舉個(gè)例子:學(xué)PHP2年多的人,你在公司開發(fā)工程中,用的是譬如PHPCMS,你什么時(shí)候用過大學(xué)教材上教的數(shù)據(jù)布局中圖的算法?或者哈夫曼算法?但是你卻可以勝任公司的大量用PHPCMS開發(fā)的工程,工資可能還不低。

反過來,你哪怕背熟了漢諾塔這些繁雜的算法,但是你沒時(shí)間學(xué)PHP以及PHPCMS,你去應(yīng)聘PHP開發(fā)職位,你覺得會(huì)有幾個(gè)給發(fā)面試通知?你的簡歷上就只能寫"精通數(shù)據(jù)布局和算法',但是拍不上實(shí)戰(zhàn)用途上,結(jié)局也很可能挺難堪的。

別人學(xué)文科的連數(shù)據(jù)布局是什么都不知道,照樣能找工作,別人就不找需要數(shù)據(jù)布局的工作嘛。這就說領(lǐng)略:找工作甚至是PHP之類的開發(fā)應(yīng)用領(lǐng)域的工作是和需求直接掛鉤的,工作中用到了什么才會(huì)需要該方面的人才。

所以,學(xué)不學(xué)數(shù)據(jù)布局,要看你以后想找的工作崗位需要不需要。假設(shè)你是想找個(gè)PHP快速開發(fā)工程的工作各位,1年后崗位上需要的框架你用的很純熟,你是很可能當(dāng)技術(shù)經(jīng)理的。但你可能并沒有用到數(shù)據(jù)布局中那些繁雜的算法。

所以有一個(gè)誤區(qū),那就是:但凡要學(xué)習(xí)PHP,就得要先吃透數(shù)據(jù)布局和算法,還局限于書本上寫的那幾個(gè)算法,如:哈夫曼算法,哈希算法,等等...誰不學(xué)這個(gè)誰就不會(huì)開發(fā)工程...之類的。

所以一聽到好多初學(xué)者,連PHP的根基都沒學(xué)會(huì),連面向?qū)ο蠖紱]搞懂,連模板解析引擎也沒搞懂,連動(dòng)態(tài)標(biāo)簽都搞不清為什么要有,連Laravel都不能開發(fā)出一個(gè)完整工程出來,一來就在啃數(shù)據(jù)布局這本書,這純粹是"華而不實(shí)'的舉動(dòng)。

這是學(xué)給別人看的,讓別人看到你有多么的"高深'。其實(shí)為什么要學(xué)它,用在什么地方,估計(jì)他自己也搞不領(lǐng)會(huì)。這樣的學(xué)習(xí)嚴(yán)重脫離了實(shí)際,假設(shè)導(dǎo)致你找工作麻煩,難勝任工作需求,也是特別正常的。由于你學(xué)歪了。就像你精通歷史,但是卻是在找或者在做化學(xué)的工作,然后你跟別人說"歷史很重要...'。

所以:上面得出的建議就是:工作或者未來的工作用不到,那就暫時(shí)不需要學(xué)數(shù)據(jù)布局。

那么,什么時(shí)候理應(yīng)學(xué)數(shù)據(jù)布局呢?

那自然是用到了才需要學(xué)。什么時(shí)候用到?像數(shù)據(jù)布局中的排序,這些在PHP中都已經(jīng)對(duì)數(shù)組集成了這些方法,一個(gè)sort即可搞定,你還有必要自己來寫個(gè)嗎?相信你要做個(gè)對(duì)從數(shù)據(jù)庫中提取的結(jié)果集舉行排序的時(shí)候,你首選的會(huì)是那些庫函數(shù)吧,不會(huì)自己再寫個(gè)排序的算法吧,由于你在重復(fù)造輪子了。

好多人大夸特夸那些繁雜算法如何如何的重要,試問你工作了幾年P(guān)HP,你何曾用到哈夫曼算法在你的工程中?哈希算法?漢諾塔算法?在PHP中你自己寫過鏈表嗎?寫了你用在了什么地方?你不需要寫,由于都寫好了。

PHP的數(shù)組就是動(dòng)態(tài)的,就是鏈表實(shí)現(xiàn)的,你還用得著寫嗎?別人庫函數(shù)寫的比你高效好多,考慮了更多的處境。你寫的'那種只考慮一般的動(dòng)態(tài)數(shù)組能派上用場嗎?除非沒有,你才必要去寫。譬如對(duì)網(wǎng)站欄目的遞歸處理。在開發(fā)領(lǐng)域中好多都是拿來主義,由于就是要裁減重復(fù)造輪子。

只有當(dāng)你從頭到尾的寫一個(gè)框架的時(shí)候,你才可能用到。但是又有幾個(gè)在寫自己的框架呢?到真正需要的地方又會(huì)看到好多人這樣的言論:框架不是有了嗎?如:TP,如:Laravel;就連開源系統(tǒng)都可以舉出十多個(gè)常用的優(yōu)秀的。知道這個(gè),那么試問:你學(xué)的那些繁雜算法又有什么意義?

所以:上面得出的建議就是:假設(shè)你想鉆研框架的開發(fā),開源系統(tǒng)的開發(fā),那再去學(xué)數(shù)據(jù)布局和算法的深入的東西。否那么,學(xué)了,你根本用不到。還是把它該學(xué)的先學(xué)會(huì)吧,如面向?qū)ο?,如面向切面,如模板解析引擎,如緩存處理,如?fù)載均衡,如集群,如Linux。

至于怎么學(xué)數(shù)據(jù)布局?

當(dāng)你可以到要學(xué)數(shù)據(jù)布局的時(shí)候了,該怎么學(xué)呢?其實(shí)它就融在了你的日常生活中

譬如:假設(shè)你開發(fā)一個(gè)工程的過程中需要對(duì)提取的文章舉行從1開頭的打印。而你遍歷的時(shí)候索引是從0開頭,那么你只要加個(gè)1就可以實(shí)現(xiàn)。

在需要對(duì)偶數(shù)行舉行標(biāo)紅的時(shí)候,你只要對(duì)2取余,看結(jié)果是0還是1,這其實(shí)就是算法,那么何謂算法?就是解決問題的斟酌途徑,這樣才會(huì)展現(xiàn)偽算法的概念,那就是用中文或者英文把解決過程先寫出來,然后才會(huì)去用某種語言去實(shí)現(xiàn)。

至于書上描述的那些算法,是用在譬如開發(fā)編譯性能,操作系統(tǒng)隊(duì)列任務(wù)的調(diào)配等底層領(lǐng)域,你以后要做底層驅(qū)動(dòng)開發(fā)嗎?你要寫編譯器嗎?你要寫欣賞器嗎?假設(shè)不想,那你死啃那些書籍有什么現(xiàn)實(shí)意義?

所以:不要狹隘的認(rèn)為數(shù)據(jù)布局和算法就是某本大學(xué)教材上羅列的那幾個(gè)抽象的解題代碼。這太狹隘了。那些其實(shí)更多的被大量"不學(xué)無術(shù)'的人用來做"學(xué)術(shù)顯擺'罷了,這也欺凌了真正編程前輩們的宗旨。相信你周邊也有那些人,對(duì),就是那些人。

得不到就說一堆你聽不懂的專業(yè)術(shù)語,讓你聽的云里霧里,方能獻(xiàn)出他比你優(yōu)秀大量。讓你"崇拜不已'。這就達(dá)成了他"虛榮'的目的。其實(shí)好多公司里的技術(shù)人員好多都是這樣的漂泊心態(tài)??偀釔勰媚切┳屇懵牪欢膩碚饝啬悖@樣你就不敢持續(xù)深究他的技術(shù)實(shí)力了...僅此而已。

其實(shí)這也涉及到了技術(shù)教學(xué)和技術(shù)開發(fā)是兩個(gè)不同的進(jìn)展方向。前者就是要用通俗易懂的內(nèi)容讓你學(xué)的輕易,后者就是要讓你看不懂,才能顯出他比你優(yōu)秀。這就是好多技術(shù)高手為什么不懂技術(shù)教學(xué)的理由。這個(gè)話題以后在說。

那么,什么是真正的數(shù)據(jù)布局和算法呢?真正有實(shí)際意義的數(shù)據(jù)布局和算法其實(shí)是你身邊所用到而沒留神到的。這么說吧,你在開發(fā)中所創(chuàng)造的數(shù)據(jù)類型,如:i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論